*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    overflow-x: clip;
}

body {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #1a1a2e;
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
    letter-spacing: -0.01em;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.25s ease;
}

a:hover {
    color: #0d9488;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul,
ol {
    list-style: none;
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
    font-size: inherit;
}

input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    outline: none;
}

table {
    border-collapse: collapse;
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a2e;
    letter-spacing: -0.02em;
}

h1 { font-size: 36px; }
h2 { font-size: 28px; }
h3 { font-size: 22px; }
h4 { font-size: 19px; }
h5 { font-size: 17px; }
h6 { font-size: 15px; }

p {
    margin-bottom: 12px;
    color: #475569;
}

p:last-child {
    margin-bottom: 0;
}

::selection {
    background: #ccfbf1;
    color: #0f766e;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.gs-container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

.gs-text-center {
    text-align: center;
}

.gs-text-left {
    text-align: left;
}

.gs-text-right {
    text-align: right;
}

.gs-text-danger {
    color: #dc2626;
}

.gs-text-success {
    color: #059669;
}

.gs-text-muted {
    color: #64748b;
}

.gs-text-primary {
    color: #0d9488;
}

.gs-py-sm {
    padding-top: 16px;
    padding-bottom: 16px;
}

.gs-py-md {
    padding-top: 32px;
    padding-bottom: 32px;
}

.gs-py-lg {
    padding-top: 48px;
    padding-bottom: 48px;
}

.gs-mt-sm { margin-top: 12px; }
.gs-mt-md { margin-top: 24px; }
.gs-mt-lg { margin-top: 40px; }
.gs-mb-sm { margin-bottom: 12px; }
.gs-mb-md { margin-bottom: 24px; }
.gs-mb-lg { margin-bottom: 40px; }

.gs-d-flex {
    display: flex;
}

.gs-align-center {
    align-items: center;
}

.gs-justify-between {
    justify-content: space-between;
}

.gs-justify-center {
    justify-content: center;
}

.gs-gap-sm { gap: 8px; }
.gs-gap-md { gap: 16px; }
.gs-gap-lg { gap: 24px; }

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

.gs-visible-mobile {
    display: none;
}

.gs-hidden-mobile {
    display: block;
}

.gs-img-fluid {
    max-width: 100%;
    height: auto;
}

.gs-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.gs-topbar {
    background: #f0fdfa;
    color: #0f766e;
    font-size: 13px;
    padding: 6px 0;
    position: relative;
    z-index: 1001;
    border-bottom: 1px solid #ccfbf1;
}

.gs-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gs-topbar__left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.gs-topbar__link {
    color: #ccfbf1;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.25s ease;
}

.gs-topbar__link:hover {
    color: #ffffff;
}

.gs-topbar__link i {
    font-size: 14px;
}

.gs-topbar__promo {
    color: #ccfbf1;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}

.gs-topbar__promo i {
    color: #fb7185;
}

.gs-topbar__right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.gs-topbar__link {
    color: #ccfbf1;
    font-size: 13px;
    transition: color 0.25s ease;
}

.gs-topbar__link:hover {
    color: #ffffff;
}

.gs-topbar__divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.25);
}

.gs-navbar {
    background: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.gs-navbar.gs-navbar-scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.gs-navbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 68px;
    gap: 20px;
}

.gs-navbar__logo {
    flex-shrink: 0;
}

.gs-navbar__logo img {
    height: 38px;
    width: auto;
}

.gs-navbar__logo-text {
    font-size: 22px;
    font-weight: 800;
    color: #0d9488;
    letter-spacing: -0.03em;
}

.gs-navbar__logo-text span {
    color: #e11d48;
}

.gs-search-form {
    flex: 1;
    max-width: 600px;
    position: relative;
    display: flex;
    align-items: center;
    background: #f8fafc;
    border-radius: 10px;
    border: 1.5px solid #e2e8f0;
    transition: all 0.25s ease;
    overflow: hidden;
}

.gs-search-form:focus-within {
    background: #ffffff;
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.08);
}

.gs-search-form__cat {
    padding: 12px 16px;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #475569;
    font-weight: 500;
    cursor: pointer;
    border-right: 1px solid #e5e7eb;
    min-width: 140px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 30px;
}

.gs-search-form__cat:focus {
    outline: none;
}

.gs-search-form__input {
    flex: 1;
    padding: 12px 16px;
    border: none;
    background: transparent;
    font-size: 15px;
    color: #1a1a2e;
}

.gs-search-form__input::placeholder {
    color: #94a3b8;
}

.gs-search-form__input:focus {
    outline: none;
}

.gs-search-form__btn {
    padding: 10px 18px;
    background: #0d9488;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    margin: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.gs-search-form__btn:hover {
    background: #0f766e;
    transform: scale(1.02);
}

.gs-search-form__btn i {
    font-size: 17px;
}

.gs-search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    padding: 8px 0;
    z-index: 100;
    display: none;
    max-height: 400px;
    overflow-y: auto;
}

.gs-search-suggestions.gs-active {
    display: block;
}

.gs-search-suggestion-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    transition: background-color 0.15s ease;
    cursor: pointer;
}

.gs-search-suggestion-item:hover {
    background: #f3f4f6;
}

.gs-search-suggestion-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 8px;
    background: #f9fafb;
}

.gs-search-suggestion-item .gs-suggestion-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a2e;
}

.gs-search-suggestion-item .gs-suggestion-category {
    font-size: 12px;
    color: #64748b;
}

.gs-navbar__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.gs-navbar__action-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 8px;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    position: relative;
}

.gs-navbar__action-item:hover {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-navbar__action-item i {
    font-size: 20px;
}

.gs-navbar__action-label {
    font-size: 13px;
}

.gs-navbar__action-item .gs-navbar__badge {
    position: absolute;
    top: 4px;
    right: 6px;
    background: #e11d48;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.gs-navbar__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    cursor: pointer;
}

.gs-navbar__hamburger-line {
    display: block;
    width: 24px;
    height: 2px;
    background: #374151;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.gs-navbar__hamburger.gs-active .gs-navbar__hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.gs-navbar__hamburger.gs-active .gs-navbar__hamburger-line:nth-child(2) {
    opacity: 0;
}

.gs-navbar__hamburger.gs-active .gs-navbar__hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.gs-navbar__search-toggle {
    display: none;
}

.gs-catnav {
    background: #ffffff;
    border-bottom: 1px solid #f3f4f6;
    position: relative;
    z-index: 999;
}

.gs-catnav__inner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gs-catnav__inner::-webkit-scrollbar {
    display: none;
}

.gs-catnav__item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: #f3f4f6;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.gs-catnav__item:hover {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-catnav__item.gs-active {
    background: #0d9488;
    color: #ffffff;
}

.gs-catnav__item i {
    font-size: 16px;
}

.gs-catnav__link--toggle {
    background: #0d9488;
    color: #ffffff;
}

.gs-catnav__link--toggle:hover {
    background: #0f766e;
    color: #ffffff;
}

.gs-hero {
    padding: 20px 0;
}

.gs-hero__carousel {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 500px;
}

.gs-hero__track {
    display: flex;
    height: 100%;
    transition: transform 0.6s ease;
}

.gs-hero__slide {
    position: relative;
    min-width: 100%;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
}

.gs-hero__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gs-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(17, 24, 39, 0.75) 0%, rgba(17, 24, 39, 0.3) 50%, transparent 100%);
    z-index: 3;
}

.gs-hero__content {
    position: absolute;
    top: 50%;
    left: 60px;
    transform: translateY(-50%);
    z-index: 4;
    max-width: 520px;
}

.gs-hero__tag {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(225, 29, 72, 0.9);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gs-hero__title {
    font-size: 44px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 16px;
}

.gs-hero__subtitle {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 28px;
    line-height: 1.6;
}

.gs-hero__actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.gs-hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.gs-hero__arrow:hover {
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.gs-hero__arrow i {
    font-size: 20px;
    color: #1a1a2e;
}

.gs-hero__arrow--prev {
    left: 20px;
}

.gs-hero__arrow--next {
    right: 20px;
}

.gs-hero__dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gs-hero__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.25s ease;
}

.gs-hero__dot.gs-active {
    background: #ffffff;
    width: 28px;
    border-radius: 5px;
}

.gs-main {
    overflow-x: clip;
}

.gs-section {
    padding: 32px 0;
    overflow: hidden;
}

.gs-section + .gs-section {
    padding-top: 0;
}

.gs-section-alt {
    background: #f8fafc;
}

.gs-section-alt,
.gs-section + .gs-section-alt,
.gs-section-alt + .gs-section {
    padding-top: 32px;
}

.gs-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 28px;
}

.gs-section__title {
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
    position: relative;
    letter-spacing: -0.03em;
}

.gs-section__title::after {
    content: '';
    display: block;
    width: 32px;
    height: 3px;
    background: linear-gradient(90deg, #0d9488, #14b8a6);
    border-radius: 3px;
    margin-top: 8px;
}

.gs-section__subtitle {
    font-size: 14px;
    color: #64748b;
    margin-top: 6px;
    letter-spacing: 0.01em;
}

.gs-section__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #0d9488;
    padding: 6px 14px;
    border-radius: 6px;
    background: #f0fdfa;
    transition: all 0.2s ease;
}

.gs-section__link:hover {
    color: #ffffff;
    background: #0d9488;
    gap: 8px;
}

.gs-section__link i {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.gs-section__link:hover i {
    transform: translateX(2px);
}

.gs-product-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.gs-product-grid--col4 {
    grid-template-columns: repeat(4, 1fr);
}

.gs-product-card {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    overflow: hidden;
    transition: all 0.2s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.03);
}

.gs-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04);
}

.gs-product-img {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 14px;
}

.gs-product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gs-product-card:hover .gs-product-img img {
    transform: scale(1.06);
}

.gs-product-card .gs-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 2;
}

.gs-wishlist-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    box-shadow: none;
    z-index: 2;
}

.gs-wishlist-btn:hover {
    background: #fff1f2;
}

.gs-wishlist-btn i {
    font-size: 16px;
    color: #94a3b8;
    transition: color 0.2s ease;
}

.gs-wishlist-btn:hover i,
.gs-wishlist-btn.gs-active i {
    color: #e11d48;
}

.gs-product-info {
    padding: 14px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.gs-product-brand {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.gs-product-name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
    line-height: 1.4;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
}

.gs-product-card:hover .gs-product-name {
    color: #0d9488;
}

.gs-product-pack {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 10px;
}

.gs-product-price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
    margin-top: auto;
}

.gs-price {
    font-size: 17px;
    font-weight: 800;
    color: #1a1a2e;
    letter-spacing: -0.02em;
}

.gs-mrp {
    font-size: 13px;
    color: #94a3b8;
    text-decoration: line-through;
}

.gs-discount-text {
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    background: #ecfdf5;
    padding: 2px 7px;
    border-radius: 4px;
}

.gs-product-action {
    width: 100%;
}

.gs-product-action .gs-btn {
    width: 100%;
    font-size: 13px;
    padding: 9px 14px;
    border-radius: 8px;
}

.gs-badge-discount {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    background: linear-gradient(135deg, #ea580c, #f97316);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    line-height: 1;
}

.gs-badge-rx {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: #dc2626;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
}

.gs-badge-new {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #059669;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    line-height: 1;
}

.gs-badge-oos {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #6b7280;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    line-height: 1;
}

.gs-category-scroll {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 12px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gs-category-scroll::-webkit-scrollbar {
    display: none;
}

.gs-category-scroll__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 110px;
    cursor: pointer;
    transition: transform 0.25s ease;
    text-align: center;
}

.gs-category-scroll__item:hover {
    transform: translateY(-4px);
}

.gs-category-scroll__icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 100%);
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.08);
}

.gs-category-scroll__item:hover .gs-category-scroll__icon {
    box-shadow: 0 8px 24px rgba(13, 148, 136, 0.15);
    transform: scale(1.05);
}

.gs-category-scroll__icon i {
    font-size: 32px;
    color: #0d9488;
}

.gs-category-scroll__icon img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.gs-category-scroll__label {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
}

.gs-category-scroll__item:hover .gs-category-scroll__label {
    color: #0d9488;
}

.gs-category-scroll__count {
    font-size: 12px;
    color: #94a3b8;
    margin-top: -8px;
}

.gs-promo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Generic banner cards on homepage */
.gs-gen-banners {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.gs-gen-banner {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.25s;
    border: 1px solid #e9eef3;
}
.gs-gen-banner:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}
.gs-gen-banner img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .gs-gen-banners { grid-template-columns: 1fr; gap: 12px; }
}

/* Legacy promo card styles */
.gs-gen-promo {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border: 1px solid #e9eef3;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s;
}
.gs-gen-promo:hover {
    border-color: #99f6e4;
    box-shadow: 0 4px 16px rgba(15, 118, 110, 0.08);
}
.gs-gen-promo__img {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gs-gen-promo__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}
.gs-gen-promo__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    border-radius: 10px;
}
.gs-gen-promo__body {
    flex: 1;
    min-width: 0;
}
.gs-gen-promo__name {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 3px;
}
.gs-gen-promo__count {
    font-size: 13px;
    color: #64748b;
    display: block;
    margin-bottom: 6px;
}
.gs-gen-promo__cta {
    font-size: 13px;
    font-weight: 600;
    color: #0f766e;
}
.gs-gen-promo:hover .gs-gen-promo__cta { text-decoration: underline; }

.gs-promo-card {
    border-radius: 10px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gs-promo-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.gs-promo-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
}

.gs-promo-card::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.gs-promo-card--gradient-indigo {
    background: linear-gradient(135deg, #0d9488 0%, #7c3aed 100%);
    color: #ffffff;
}

.gs-promo-card--gradient-amber {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #ffffff;
}

.gs-promo-card--gradient-teal {
    background: linear-gradient(135deg, #e11d48 0%, #f97316 100%);
    color: #ffffff;
}

.gs-promo-card__badge {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.85;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.gs-promo-card__title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
    position: relative;
    z-index: 1;
    color: #ffffff;
}

.gs-promo-card__desc {
    font-size: 15px;
    opacity: 0.9;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.gs-promo-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.25s ease;
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.3);
    width: fit-content;
}

.gs-promo-card__cta:hover {
    background: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.gs-promo-card__img {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 120px;
    height: 120px;
    object-fit: contain;
    z-index: 1;
    opacity: 0.9;
}

.gs-trust-bar {
    background: linear-gradient(135deg, #f0fdfa 0%, #f0fdfa 100%);
}

.gs-trust-bar__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.gs-trust-bar__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    background: #ffffff;
    border-radius: 10px;
    transition: all 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-trust-bar__item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.gs-trust-bar__icon {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gs-trust-bar__icon--indigo {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-trust-bar__icon--green {
    background: #ecfdf5;
    color: #059669;
}

.gs-trust-bar__icon--amber {
    background: #fff1f2;
    color: #e11d48;
}

.gs-trust-bar__icon--red {
    background: #fef2f2;
    color: #dc2626;
}

.gs-trust-bar__icon i {
    font-size: 24px;
}

.gs-trust-bar__item h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.gs-trust-bar__item p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

.gs-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gs-blog-card {
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}

.gs-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06), 0 16px 48px rgba(0, 0, 0, 0.04);
    border-color: #e5e7eb;
}

.gs-blog-card__img-wrap {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.gs-blog-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gs-blog-card:hover .gs-blog-card__img-wrap img {
    transform: scale(1.05);
}

.gs-blog-card__category {
    display: inline-block;
    padding: 4px 12px;
    background: #0d9488;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 10px;
}

.gs-blog-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.gs-blog-card__title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.25s ease;
}

.gs-blog-card:hover .gs-blog-card__title {
    color: #0d9488;
}

.gs-blog-card__excerpt {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

.gs-blog-card__meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: #94a3b8;
    padding-top: 16px;
    border-top: 1px solid #f3f4f6;
}

.gs-blog-card__meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.gs-blog-card__meta i {
    font-size: 14px;
}

/* ===== Main Footer ===== */
.gs-footer {
    background: #111827;
    color: #d1d5db;
}

.gs-footer__top {
    padding: 56px 0 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.gs-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
    gap: 48px;
}

.gs-footer__col--brand .gs-footer__desc {
    font-size: 14px;
    color: #9ca3af;
    line-height: 1.8;
    margin-top: 14px;
    margin-bottom: 0;
}

.gs-footer__logo img {
    height: 40px;
    width: auto;
}

.gs-footer__logo-text {
    font-size: 22px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.gs-footer__logo-text span {
    color: #e11d48;
}

.gs-footer__trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
}

.gs-footer__trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #9ca3af;
}

.gs-footer__trust-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(13, 148, 136, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gs-footer__trust-icon i {
    font-size: 14px;
    color: #14b8a6;
}

.gs-footer__social {
    display: flex;
    gap: 8px;
}

.gs-footer__social-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    transition: all 0.25s ease;
}

.gs-footer__social-icon:hover {
    background: #0d9488;
    border-color: #0d9488;
    color: #ffffff;
    transform: translateY(-2px);
}

.gs-footer__social-icon i {
    font-size: 15px;
}

.gs-footer__heading {
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.gs-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gs-footer__links li {
    margin-bottom: 0;
}

.gs-footer__links a {
    font-size: 14px;
    color: #9ca3af;
    display: block;
    padding: 6px 0;
    transition: all 0.2s ease;
    border-bottom: 1px solid transparent;
}

.gs-footer__links a:hover {
    color: #14b8a6;
}

.gs-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gs-footer__contact-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    color: #d1d5db;
    transition: all 0.2s ease;
    text-decoration: none;
}

.gs-footer__contact-card:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(13, 148, 136, 0.3);
}

.gs-footer__contact-card i {
    font-size: 18px;
    color: #14b8a6;
    flex-shrink: 0;
}

.gs-footer__contact-card small {
    display: block;
    font-size: 11px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.gs-footer__contact-card span {
    display: block;
    font-size: 13px;
    color: #e5e7eb;
}

/* ===== Footer Bottom ===== */
.gs-footer__bottom {
    padding: 20px 0;
}

.gs-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.gs-footer__copyright {
    font-size: 13px;
    color: #6b7280;
}

.gs-footer__payments {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
    letter-spacing: 0.01em;
}

.gs-btn i {
    font-size: 16px;
}

.gs-btn-primary {
    background: #0d9488;
    color: #ffffff;
    border-color: #0d9488;
}

.gs-btn-primary:hover {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(13, 148, 136, 0.25);
    transform: translateY(-1px);
}

.gs-btn-accent {
    background: #e11d48;
    color: #ffffff;
    border-color: #e11d48;
}

.gs-btn-accent:hover {
    background: #be123c;
    border-color: #be123c;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.3);
}

.gs-btn-success {
    background: #059669;
    color: #ffffff;
    border-color: #059669;
}

.gs-btn-success:hover {
    background: #047857;
    border-color: #047857;
    color: #ffffff;
}

.gs-btn-danger {
    background: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
}

.gs-btn-danger:hover {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #ffffff;
}

.gs-btn-outline {
    background: transparent;
    color: #0d9488;
    border-color: #0d9488;
}

.gs-btn-outline:hover {
    background: #0d9488;
    color: #ffffff;
}

.gs-btn-outline-white {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.5);
}

.gs-btn-outline-white:hover {
    background: #ffffff;
    color: #1a1a2e;
    border-color: #ffffff;
}

.gs-btn-ghost {
    background: transparent;
    color: #0d9488;
    border-color: transparent;
}

.gs-btn-ghost:hover {
    background: #f0fdfa;
}

.gs-btn-white {
    background: #ffffff;
    color: #1a1a2e;
    border-color: #ffffff;
}

.gs-btn-white:hover {
    background: #f3f4f6;
    border-color: #f3f4f6;
}

.gs-btn-sm {
    padding: 8px 16px;
    font-size: 13px;
}

.gs-btn-sm i {
    font-size: 16px;
}

.gs-btn-lg {
    padding: 16px 32px;
    font-size: 17px;
}

.gs-btn-lg i {
    font-size: 20px;
}

.gs-btn-block {
    width: 100%;
}

.gs-btn-icon {
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 10px;
}

.gs-btn-icon.gs-btn-sm {
    width: 36px;
    height: 36px;
}

.gs-btn-pill {
    border-radius: 50px;
}

.gs-btn:disabled,
.gs-btn.gs-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.gs-btn-loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}

.gs-btn-loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: gs-spin 0.6s linear infinite;
}

.gs-input {
    width: 100%;
    padding: 11px 14px;
    font-size: 14px;
    color: #1a1a2e;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.gs-input:focus {
    background: #ffffff;
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.08);
}

.gs-input::placeholder {
    color: #94a3b8;
}

.gs-input.gs-input-error {
    border-color: #dc2626;
}

.gs-input.gs-input-error:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.gs-input-lg {
    padding: 16px 20px;
    font-size: 16px;
}

.gs-input-sm {
    padding: 8px 12px;
    font-size: 14px;
}

.gs-select {
    width: 100%;
    padding: 12px 40px 12px 16px;
    font-size: 15px;
    color: #1a1a2e;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.25s ease;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    cursor: pointer;
}

.gs-select:focus {
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
}

.gs-textarea {
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
    color: #1a1a2e;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.25s ease;
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
}

.gs-textarea:focus {
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
}

.gs-form-group {
    margin-bottom: 18px;
}

.gs-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 5px;
    letter-spacing: 0.01em;
}

.gs-form-label span {
    color: #e11d48;
}

.gs-form-hint {
    font-size: 13px;
    color: #64748b;
    margin-top: 4px;
}

.gs-form-error {
    font-size: 13px;
    color: #dc2626;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.gs-form-error i {
    font-size: 14px;
}

/* Country select dropdown */
.gs-country-select {
    position: relative;
}

.gs-country-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 14px;
    color: #1e293b;
    background: #fff;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.gs-country-select__trigger:focus,
.gs-country-select__trigger[aria-expanded="true"] {
    border-color: #0f766e;
    box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.1);
}

.gs-country-select__placeholder {
    color: #94a3b8;
}

.gs-country-select__arrow {
    font-size: 12px;
    color: #94a3b8;
    transition: transform 0.2s;
}

.gs-country-select__trigger[aria-expanded="true"] .gs-country-select__arrow {
    transform: rotate(180deg);
}

.gs-country-select__dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    margin-top: 4px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.gs-country-select__dropdown.gs-open {
    display: block;
}

.gs-country-select__search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid #e2e8f0;
}

.gs-country-select__search-wrap i {
    color: #94a3b8;
    font-size: 13px;
}

.gs-country-select__search {
    flex: 1;
    border: none;
    outline: none;
    font-size: 14px;
    color: #1e293b;
    background: transparent;
}

.gs-country-select__list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 200px;
    overflow-y: auto;
}

.gs-country-select__item {
    padding: 8px 14px;
    font-size: 14px;
    color: #334155;
    cursor: pointer;
    transition: background 0.15s;
}

.gs-country-select__item:hover {
    background: #f0fdfa;
    color: #0f766e;
}

.gs-country-select__item--active {
    background: #f0fdfa;
    color: #0f766e;
    font-weight: 600;
}

.gs-country-select__empty {
    padding: 12px 14px;
    font-size: 13px;
    color: #94a3b8;
    text-align: center;
}

.gs-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.gs-checkbox-group,
.gs-radio-group {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #475569;
}

.gs-checkbox-group input[type="checkbox"],
.gs-radio-group input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #0d9488;
    cursor: pointer;
    flex-shrink: 0;
}

.gs-input-group {
    display: flex;
    align-items: stretch;
}

.gs-input-group .gs-input {
    border-radius: 8px 0 0 8px;
}

.gs-input-group .gs-btn {
    border-radius: 0 8px 8px 0;
    flex-shrink: 0;
}

.gs-input-icon-wrapper {
    position: relative;
}

.gs-input-icon-wrapper .gs-input {
    padding-left: 44px;
}

.gs-input-icon-wrapper i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #94a3b8;
}

.gs-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 0;
    font-size: 13px;
    flex-wrap: wrap;
}

.gs-breadcrumb-item {
    color: #64748b;
    transition: all 0.2s ease;
    padding: 2px 0;
}

.gs-breadcrumb-item:hover {
    color: #0d9488;
}

.gs-breadcrumb-item.gs-active {
    color: #1a1a2e;
    font-weight: 600;
    pointer-events: none;
}

.gs-breadcrumb-sep {
    color: #cbd5e1;
    font-size: 11px;
    display: flex;
    align-items: center;
}

.gs-breadcrumb-sep::after {
    content: '/';
    font-size: 13px;
    line-height: 1;
}

.gs-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 28px 0;
}

.gs-pagination-item {
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    background: transparent;
    border: none;
    transition: all 0.2s ease;
    cursor: pointer;
    padding: 0 4px;
}

.gs-pagination-item:hover {
    color: #0d9488;
    background: #f0fdfa;
}

.gs-pagination-item.gs-active {
    background: #0d9488;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(13, 148, 136, 0.25);
}

.gs-pagination-item.gs-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.gs-pagination-item i {
    font-size: 16px;
}

.gs-pagination-ellipsis {
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #94a3b8;
}

.gs-empty-state {
    text-align: center;
    padding: 80px 20px;
    max-width: 480px;
    margin: 0 auto;
}

.gs-empty-state__icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.gs-empty-state__icon i {
    font-size: 40px;
    color: #94a3b8;
}

.gs-empty-state__icon img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.gs-empty-state__title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 8px;
}

.gs-empty-state__text {
    font-size: 15px;
    color: #64748b;
    margin-bottom: 24px;
    line-height: 1.6;
}

.gs-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 14px;
    border: none;
    border-left: 3px solid;
}

.gs-alert i {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.gs-alert-success {
    background: #f0fdf4;
    border-left-color: #059669;
    color: #065f46;
}

.gs-alert-success i {
    color: #059669;
}

.gs-alert-danger {
    background: #fef2f2;
    border-left-color: #dc2626;
    color: #991b1b;
}

.gs-alert-danger i {
    color: #dc2626;
}

.gs-alert-warning {
    background: #fffbeb;
    border-left-color: #f59e0b;
    color: #92400e;
}

.gs-alert-warning i {
    color: #f59e0b;
}

.gs-alert-info {
    background: #f0fdfa;
    border-left-color: #0d9488;
    color: #0f766e;
}

.gs-alert-info i {
    color: #0d9488;
}

.gs-alert-close {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.25s ease;
    padding: 0;
    line-height: 1;
}

.gs-alert-close:hover {
    opacity: 1;
}

.gs-auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    padding: 40px 20px;
}

.gs-auth-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    padding: 44px;
    width: 100%;
    max-width: 440px;
}

.gs-auth-card__header {
    text-align: center;
    margin-bottom: 32px;
}

.gs-auth-card__icon img {
    height: 40px;
    margin: 0 auto 20px;
}

.gs-auth-card__title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 6px;
    letter-spacing: -0.03em;
}

.gs-auth-card__subtitle {
    font-size: 14px;
    color: #64748b;
}

.gs-auth-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0;
}

.gs-auth-divider::before,
.gs-auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

.gs-auth-divider span {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 500;
}

.gs-auth-card__footer {
    text-align: center;
    margin-top: 24px;
    font-size: 14px;
    color: #64748b;
}

.gs-auth-card__footer a {
    color: #0d9488;
    font-weight: 600;
}

.gs-auth-card__footer a:hover {
    color: #0f766e;
}

.gs-auth-social {
    display: flex;
    gap: 12px;
}

.gs-auth-social-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    background: #ffffff;
    transition: all 0.25s ease;
    cursor: pointer;
}

.gs-auth-social-btn:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

.gs-auth-social-btn img {
    width: 20px;
    height: 20px;
}

.gs-blog-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 32px;
    align-items: start;
}

.gs-blog-main {
    min-width: 0;
}

.gs-blog-sidebar {
    position: sticky;
    top: 84px;
}

.gs-sidebar-widget {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-sidebar-widget-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
    letter-spacing: -0.02em;
}

.gs-sidebar-categories li {
    margin-bottom: 4px;
}

.gs-sidebar-categories a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: #475569;
    transition: all 0.2s ease;
}

.gs-sidebar-categories a:hover {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-sidebar-categories a span {
    font-size: 12px;
    color: #94a3b8;
    background: #f3f4f6;
    padding: 2px 8px;
    border-radius: 50px;
}

.gs-sidebar-recent-post {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
}

.gs-sidebar-recent-post:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.gs-sidebar-recent-post img {
    width: 72px;
    height: 54px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.gs-sidebar-recent-post-title {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gs-sidebar-recent-post-date {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 4px;
}

.gs-sidebar-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gs-sidebar-tag {
    padding: 6px 14px;
    background: #f3f4f6;
    border-radius: 50px;
    font-size: 13px;
    color: #475569;
    transition: all 0.25s ease;
}

.gs-sidebar-tag:hover {
    background: #0d9488;
    color: #ffffff;
}

.gs-blog-detail-header {
    margin-bottom: 32px;
}

.gs-blog-detail-category {
    display: inline-block;
    padding: 4px 14px;
    background: #f0fdfa;
    color: #0d9488;
    font-size: 13px;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 16px;
}

.gs-blog-detail-title {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
}

.gs-blog-detail-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 14px;
    color: #64748b;
    flex-wrap: wrap;
}

.gs-blog-detail-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.gs-blog-detail-meta i {
    font-size: 16px;
}

.gs-blog-detail-img {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 32px;
    aspect-ratio: 16 / 9;
}

.gs-blog-detail-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Blog detail content — inherits from .gs-rich-text shared styles above, blog-specific overrides only */
.gs-blog-detail-content h2 { font-size: 22px; margin: 20px 0 10px; }
.gs-blog-detail-content h2:first-child { margin-top: 0; }
.gs-blog-detail-content h3 { font-size: 18px; margin: 16px 0 8px; }
.gs-blog-detail-content h3:first-child { margin-top: 0; }
.gs-blog-detail-content p { margin-bottom: 10px; }
.gs-blog-detail-content p:last-child { margin-bottom: 0; }

/* Static Pages */
.gs-static-page {
    max-width: 900px;
}

.gs-page-title {
    font-size: 30px;
    font-weight: 800;
    color: #1a1a2e;
    margin-bottom: 8px;
    line-height: 1.3;
}

.gs-page-content {
    font-size: 16px;
    line-height: 1.8;
    color: #475569;
}

.gs-page-content h2 {
    font-size: 24px;
    margin-top: 36px;
    margin-bottom: 14px;
    color: #1a1a2e;
}

.gs-page-content h3 {
    font-size: 20px;
    margin-top: 28px;
    margin-bottom: 10px;
    color: #1a1a2e;
}

.gs-page-content p {
    margin-bottom: 18px;
}

.gs-page-content ul,
.gs-page-content ol {
    margin-bottom: 18px;
    padding-left: 24px;
}

.gs-page-content ul {
    list-style: disc;
}

.gs-page-content ol {
    list-style: decimal;
}

.gs-page-content li {
    margin-bottom: 8px;
}

.gs-page-content a {
    color: #0d9488;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: #ccfbf1;
    text-underline-offset: 2px;
}

.gs-page-content a:hover {
    color: #0f766e;
    text-decoration-color: #0d9488;
}

.gs-page-content table {
    margin: 24px 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.gs-page-content table th {
    background: #f9fafb;
    padding: 10px 16px;
    text-align: left;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

.gs-page-content table td {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
}

/* Contact page */
.gs-contact-section {
    margin-top: 32px;
}

.gs-contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: start;
}

.gs-contact-heading {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 12px;
}

.gs-contact-details {
    margin-top: 24px;
}

.gs-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    font-size: 14px;
    color: #475569;
}

.gs-contact-item i {
    font-size: 20px;
    color: #0d9488;
    margin-top: 2px;
    flex-shrink: 0;
}

.gs-contact-item strong {
    display: block;
    margin-bottom: 4px;
    color: #1a1a2e;
}

.gs-contact-item a {
    color: #0d9488;
}

.gs-contact-form-wrap {
    background: #f9fafb;
    padding: 32px;
    border-radius: 16px;
}

.gs-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 6px;
}

@media (max-width: 768px) {
    .gs-contact-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .gs-contact-form-wrap {
        padding: 20px;
    }

    .gs-page-title {
        font-size: 24px;
    }
}

/* Page subtitle */
.gs-page-subtitle {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 24px;
    line-height: 1.6;
}

/* Alphabetical navigation */
/* ─── Directory Layout (generics/manufacturers/brands) ───── */
.gs-dir-layout {
    display: flex;
    gap: 0;
    align-items: flex-start;
    position: relative;
}

/* Vertical sticky alphabet sidebar */
.gs-alpha-nav {
    position: sticky;
    top: 80px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 4px;
    background: #f8fafb;
    border-radius: 12px;
    border: 1px solid #e9eef3;
    flex-shrink: 0;
    margin-right: 24px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    scrollbar-width: none;
}
.gs-alpha-nav::-webkit-scrollbar { display: none; }

.gs-alpha-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-decoration: none;
    transition: all 0.15s;
}
.gs-alpha-nav a:hover,
.gs-alpha-nav a.gs-active {
    background: #0f766e;
    color: #fff;
}

/* Main content area */
.gs-dir-content {
    flex: 1;
    min-width: 0;
}

/* Letter section */
.gs-dir-section {
    margin-bottom: 28px;
    scroll-margin-top: 80px;
}
.gs-dir-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #0f766e, #0d9488);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    border-radius: 10px;
    margin-bottom: 14px;
    box-shadow: 0 2px 8px rgba(15, 118, 110, 0.2);
}
.gs-dir-letter-count {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
    vertical-align: middle;
    transform: translateY(-2px);
}

/* Listing grid */
.gs-listing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.gs-listing-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
    transition: all 0.2s;
    color: inherit;
    text-decoration: none;
}
.gs-listing-card:hover {
    border-color: #99f6e4;
    background: #f0fdfa;
    color: inherit;
    box-shadow: 0 2px 12px rgba(15, 118, 110, 0.08);
}

.gs-listing-card > i,
.gs-listing-mono {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f0fdfa;
    font-size: 15px;
    color: #0f766e;
    flex-shrink: 0;
    transition: all 0.2s;
}
.gs-listing-mono {
    font-size: 13px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.3px;
}
.gs-listing-card:hover > i,
.gs-listing-card:hover .gs-listing-mono {
    opacity: 0.9;
}

.gs-listing-card-img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    border-radius: 8px;
    flex-shrink: 0;
    background: #f8fafc;
}

.gs-listing-card-body {
    min-width: 0;
    flex: 1;
}

.gs-listing-card-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.gs-listing-card-count {
    font-size: 11.5px;
    color: #94a3b8;
    margin-top: 1px;
}

/* Search/filter bar for directory pages */
.gs-dir-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    padding: 12px 16px;
    background: #f8fafb;
    border-radius: 12px;
    border: 1px solid #e9eef3;
}
.gs-dir-search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 14px;
}
.gs-dir-search i {
    color: #94a3b8;
    font-size: 14px;
}
.gs-dir-search input {
    border: none;
    outline: none;
    font-size: 14px;
    color: #1e293b;
    background: transparent;
    width: 100%;
    font-family: inherit;
}
.gs-dir-search input::placeholder { color: #94a3b8; }
.gs-dir-stat {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    padding: 8px 16px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}
.gs-dir-stat strong {
    color: #0f766e;
}

@media (max-width: 1024px) {
    .gs-listing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .gs-alpha-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        margin-right: 0;
        margin-bottom: 20px;
        max-height: none;
    }
    .gs-alpha-nav a {
        width: 30px;
        height: 28px;
        font-size: 11px;
    }
    .gs-dir-layout {
        flex-direction: column;
    }
    .gs-listing-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    .gs-dir-toolbar {
        flex-direction: column;
        gap: 8px;
    }
    .gs-dir-stat { width: 100%; text-align: center; }
}

@media (max-width: 480px) {
    .gs-listing-grid {
        grid-template-columns: 1fr;
    }
}

.gs-listing-layout {
    display: grid;
    grid-template-columns: 248px 1fr;
    gap: 24px;
    align-items: start;
}

.gs-listing-sidebar {
    position: sticky;
    top: 84px;
    background: #ffffff;
    border-radius: 10px;
    border: none;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-listing-sidebar-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: -0.02em;
}

.gs-listing-sidebar-title a {
    font-size: 12px;
    font-weight: 600;
    color: #0d9488;
}

.gs-filter-group {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
}

.gs-filter-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.gs-filter-group__heading {
    font-size: 13px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gs-filter-group__heading i {
    font-size: 16px;
    color: #94a3b8;
    transition: transform 0.25s ease;
}

.gs-filter-group.gs-collapsed .gs-filter-group__heading i {
    transform: rotate(-90deg);
}

.gs-filter-group__body {
    max-height: 240px;
    overflow-y: auto;
}

.gs-filter-group.gs-collapsed .gs-filter-group__body {
    display: none;
}

/* Sidebar header (mobile close) */
.gs-sidebar__header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}

.gs-sidebar__title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
}

.gs-sidebar__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 16px;
    color: #64748b;
    transition: all 0.2s;
}

.gs-sidebar__close:hover {
    background: #e5e7eb;
    color: #1a1a2e;
}

/* Filter toggle (mobile only) */
.gs-filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    margin-bottom: 16px;
    transition: all 0.2s;
}

.gs-filter-toggle:hover {
    border-color: #0d9488;
    color: #0d9488;
}

.gs-filter-toggle i {
    font-size: 16px;
}

/* Filter scroll container */
.gs-filter-scroll {
    max-height: 200px;
    overflow-y: auto;
    scrollbar-width: thin;
}

/* Filter actions */
.gs-filter-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #f3f4f6;
}

/* Checkbox/Radio filter items */
.gs-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 14px;
    color: #475569;
    cursor: pointer;
    transition: color 0.2s;
}

.gs-checkbox:hover {
    color: #0d9488;
}

.gs-checkbox input[type="radio"],
.gs-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #0d9488;
    cursor: pointer;
    flex-shrink: 0;
}

.gs-checkmark {
    display: none;
}

/* Listing main area */
.gs-listing-main {
    min-width: 0;
}

/* Sort bar */
.gs-sort-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 16px;
    background: #f9fafb;
    border-radius: 10px;
    margin-bottom: 20px;
    gap: 12px;
}

.gs-sort-bar .gs-product-search-bar {
    margin-bottom: 0;
    margin-right: auto;
}

.gs-sort-bar__info {
    font-size: 14px;
    color: #64748b;
    margin-left: auto;
}

.gs-sort-bar__controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gs-sort-bar__label {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.gs-select-sm {
    padding: 8px 32px 8px 12px;
    font-size: 13px;
    border-radius: 8px;
}

/* Product search bar */
.gs-product-search-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 0;
}

.gs-product-search-bar__input-wrap {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0 10px;
    max-width: 280px;
    transition: border-color 0.2s;
}

.gs-product-search-bar__input-wrap:focus-within {
    border-color: #94a3b8;
}

.gs-product-search-bar__input-wrap i {
    color: #94a3b8;
    font-size: 14px;
    margin-right: 10px;
}

.gs-product-search-bar__input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 8px 0;
    font-size: 13px;
    color: #1e293b;
    min-width: 0;
}

.gs-product-search-bar__input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

.gs-product-search-bar__clear {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    font-size: 14px;
}

.gs-product-search-bar__result {
    font-size: 13px;
    color: #64748b;
    white-space: nowrap;
}

.gs-product-count {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

/* Category section */
.gs-cat-section {
    margin-top: 32px;
}

/* Mobile filter sidebar */
@media (max-width: 768px) {
    .gs-filter-toggle {
        display: inline-flex;
    }

    .gs-sidebar__header {
        display: flex;
    }

    .gs-sort-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .gs-product-search-bar {
        flex-direction: column;
    }
}

.gs-filter-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 14px;
    color: #475569;
    cursor: pointer;
}

.gs-filter-option input {
    width: 18px;
    height: 18px;
    accent-color: #0d9488;
    cursor: pointer;
    flex-shrink: 0;
}

.gs-filter-option span {
    font-size: 12px;
    color: #94a3b8;
    margin-left: auto;
}

.gs-filter-price-range {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gs-filter-price-range input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    text-align: center;
}

.gs-filter-price-range span {
    color: #94a3b8;
    font-size: 14px;
}

.gs-listing-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}

.gs-listing-count {
    font-size: 15px;
    color: #64748b;
}

.gs-listing-count strong {
    color: #1a1a2e;
}

.gs-listing-sort {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gs-listing-sort label {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.gs-listing-sort select {
    padding: 8px 36px 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    color: #1a1a2e;
    background: #ffffff;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
}

.gs-listing-view-toggle {
    display: flex;
    gap: 4px;
}

.gs-listing-view-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.25s ease;
}

.gs-listing-view-btn.gs-active {
    background: #0d9488;
    border-color: #0d9488;
    color: #ffffff;
}

.gs-listing-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.gs-active-filter {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f0fdfa;
    color: #0d9488;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 500;
}

.gs-active-filter button {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #0d9488;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
}

.gs-active-filter-clear {
    font-size: 13px;
    color: #dc2626;
    font-weight: 500;
    cursor: pointer;
    background: none;
    border: none;
    padding: 6px 12px;
}

.gs-cart-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    align-items: start;
}

.gs-cart-main {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 2px solid #f1f5f9;
}

.gs-cart-header h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.gs-cart-header span {
    font-size: 13px;
    color: #64748b;
}

.gs-cart-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

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

.gs-cart-item:hover {
    background: #f8fafc;
}

.gs-cart-item__image {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    background: #f8fafc;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
}

.gs-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gs-cart-item__details {
    flex: 1;
    min-width: 0;
}

.gs-cart-item__name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 3px;
}

.gs-cart-item__variant {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 6px;
}

.gs-cart-item__price {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: -0.02em;
}

.gs-cart-item__mrp {
    font-size: 13px;
    color: #94a3b8;
    text-decoration: line-through;
    margin-left: 6px;
}

.gs-cart-qty {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.gs-cart-qty button {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fafb;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #475569;
    transition: background-color 0.25s ease;
}

.gs-cart-qty button:hover {
    background: #e5e7eb;
}

.gs-cart-qty input {
    width: 44px;
    height: 36px;
    text-align: center;
    border: none;
    border-left: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
    background: #ffffff;
}

.gs-cart-qty input::-webkit-outer-spin-button,
.gs-cart-qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.gs-cart-item__remove {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #94a3b8;
    transition: all 0.25s ease;
    cursor: pointer;
    background: none;
    border: none;
    flex-shrink: 0;
}

.gs-cart-item__remove:hover {
    color: #dc2626;
    background: #fef2f2;
}

.gs-cart-item__remove i {
    font-size: 20px;
}

.gs-cart-summary {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    padding: 20px;
    position: sticky;
    top: 84px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-cart-summary__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}

.gs-cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 15px;
}

.gs-cart-summary__row .gs-label {
    color: #64748b;
}

.gs-cart-summary__row .gs-value {
    font-weight: 600;
    color: #1a1a2e;
}

.gs-cart-summary__row .gs-value.gs-text-success {
    color: #059669;
}

.gs-cart-summary__row--total {
    border-top: 2px solid #111827;
    margin-top: 12px;
    padding-top: 16px;
    font-size: 18px;
}

.gs-cart-summary__row--total .gs-value {
    font-weight: 800;
    font-size: 22px;
}

.gs-cart-summary .gs-coupon-form {
    display: flex;
    gap: 8px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-top: 16px;
    border-top: 1px solid #f3f4f6;
}

.gs-cart-summary .gs-coupon-form input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gs-cart-summary .gs-btn-block-wrap {
    margin-top: 24px;
}

.gs-cart-summary .gs-btn-block {
    width: 100%;
    padding: 16px;
    font-size: 16px;
}

.gs-cart-summary__note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 13px;
    color: #64748b;
}

.gs-cart-summary__note i {
    font-size: 16px;
    color: #059669;
}

.gs-checkout-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 32px;
    background: #f8fafc;
    border-radius: 10px;
    padding: 16px 24px;
}

.gs-checkout-step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #94a3b8;
}

.gs-checkout-step-number {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.gs-checkout-step.gs-active .gs-checkout-step-number {
    background: #0d9488;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(13, 148, 136, 0.25);
}

.gs-checkout-step.gs-active {
    color: #0d9488;
}

.gs-checkout-step.gs-completed .gs-checkout-step-number {
    background: #059669;
    color: #ffffff;
}

.gs-checkout-step.gs-completed {
    color: #059669;
}

.gs-checkout-step-line {
    width: 48px;
    height: 2px;
    background: #e2e8f0;
    margin: 0 10px;
    border-radius: 1px;
}

.gs-checkout-step.gs-completed + .gs-checkout-step-line {
    background: #059669;
}

.gs-checkout-section {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-checkout-section-title {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.02em;
}

.gs-checkout-section-title i {
    color: #0d9488;
    font-size: 22px;
}

.gs-fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.gs-fade-up.gs-visible {
    opacity: 1;
    transform: translateY(0);
}

.gs-fade-up.gs-delay-1 {
    transition-delay: 0.1s;
}

.gs-fade-up.gs-delay-2 {
    transition-delay: 0.2s;
}

.gs-fade-up.gs-delay-3 {
    transition-delay: 0.3s;
}

.gs-fade-up.gs-delay-4 {
    transition-delay: 0.4s;
}

.gs-slide-in {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.gs-slide-in.gs-visible {
    opacity: 1;
    transform: translateX(0);
}

.gs-slide-in-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.gs-slide-in-right.gs-visible {
    opacity: 1;
    transform: translateX(0);
}

.gs-scale-in {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.gs-scale-in.gs-visible {
    opacity: 1;
    transform: scale(1);
}

@keyframes gs-spin {
    to { transform: rotate(360deg); }
}

@keyframes gs-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes gs-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes gs-shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-4px); }
    40%, 80% { transform: translateX(4px); }
}

@keyframes gs-slide-down {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gs-slide-up-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-20px);
    }
}

@keyframes gs-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes gs-progress {
    from { width: 100%; }
    to { width: 0; }
}

.gs-mobile-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: none;
    z-index: 1000;
    padding: 6px 0;
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
    align-items: center;
    justify-content: space-around;
}

.gs-mobile-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 6px 12px;
    color: #64748b;
    font-size: 11px;
    font-weight: 500;
    transition: color 0.25s ease;
    position: relative;
}

.gs-mobile-nav__item i {
    font-size: 22px;
}

.gs-mobile-nav__item--active {
    color: #0d9488;
}

.gs-mobile-nav__item .gs-navbar__badge {
    position: absolute;
    top: 0;
    right: 4px;
    width: 18px;
    height: 18px;
    background: #e11d48;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.gs-back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    background: #0d9488;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(13, 148, 136, 0.3);
}

.gs-back-to-top:hover {
    background: #0f766e;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(13, 148, 136, 0.4);
}

.gs-back-to-top.gs-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gs-back-to-top i {
    font-size: 22px;
}

.gs-flash-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    width: 100%;
}

.gs-flash {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06);
    border-left: 4px solid;
    animation: gs-slide-down 0.35s ease forwards;
    position: relative;
    overflow: hidden;
}

.gs-flash.gs-flash-dismiss {
    animation: gs-slide-up-out 0.35s ease forwards;
}

.gs-flash-success {
    border-left-color: #059669;
}

.gs-flash-danger {
    border-left-color: #dc2626;
}

.gs-flash-warning {
    border-left-color: #e11d48;
}

.gs-flash-info {
    border-left-color: #0d9488;
}

.gs-flash i:first-child {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}

.gs-flash-success i:first-child {
    color: #059669;
}

.gs-flash-danger i:first-child {
    color: #dc2626;
}

.gs-flash-warning i:first-child {
    color: #e11d48;
}

.gs-flash-info i:first-child {
    color: #0d9488;
}

.gs-flash-body {
    flex: 1;
}

.gs-flash-title {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 2px;
}

.gs-flash-message {
    font-size: 14px;
    color: #64748b;
    line-height: 1.4;
}

.gs-flash-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #94a3b8;
    padding: 0;
    font-size: 18px;
    line-height: 1;
    transition: color 0.25s ease;
}

.gs-flash-close:hover {
    color: #475569;
}

.gs-flash-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: currentColor;
    animation: gs-progress 4s linear forwards;
    opacity: 0.3;
}

.gs-pd {
    padding: 32px 0;
}

.gs-pd-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.gs-pd-gallery {
    position: sticky;
    top: 100px;
}

.gs-pd-main-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f9fafb;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    cursor: zoom-in;
    position: relative;
    border: 1px solid #f1f5f9;
}

.gs-pd-main-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.gs-pd-main-img:hover img {
    transform: scale(1.15);
}

.gs-pd-main-img .gs-pd-zoom-lens {
    display: none;
    position: absolute;
    width: 150px;
    height: 150px;
    border: 2px solid #0d9488;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(13, 148, 136, 0.05);
}

.gs-pd-thumbnails {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.gs-pd-thumbnail {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    background: #f9fafb;
    flex-shrink: 0;
    padding: 8px;
    transition: border-color 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gs-pd-thumbnail:hover {
    border-color: #d1d5db;
}

.gs-pd-thumbnail.gs-active {
    border-color: #0d9488;
}

.gs-pd-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gs-pd-info {
    padding-top: 8px;
}

.gs-pd-brand {
    font-size: 13px;
    font-weight: 600;
    color: #0d9488;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.gs-pd-brand a:hover {
    text-decoration: underline;
}

.gs-pd-title {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 12px;
}

.gs-pd-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.gs-pd-stars {
    display: flex;
    gap: 2px;
    color: #e11d48;
}

.gs-pd-stars i {
    font-size: 16px;
}

.gs-pd-rating-text {
    font-size: 14px;
    color: #64748b;
}

.gs-pd-rating-text a {
    color: #0d9488;
    font-weight: 500;
}

.gs-pd-pricing {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 20px 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.gs-pd-price {
    font-size: 32px;
    font-weight: 800;
    color: #1a1a2e;
}

.gs-pd-mrp {
    font-size: 20px;
    color: #94a3b8;
    text-decoration: line-through;
}

.gs-pd-discount {
    font-size: 16px;
    font-weight: 700;
    color: #059669;
    background: #ecfdf5;
    padding: 4px 12px;
    border-radius: 50px;
}

.gs-pd-stock {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.gs-pd-stock.gs-in-stock {
    color: #059669;
}

.gs-pd-stock.gs-out-stock {
    color: #dc2626;
}

.gs-pd-stock i {
    font-size: 18px;
}

.gs-pd-short-desc {
    font-size: 15px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 24px;
}

.gs-pd-short-desc ul {
    list-style: disc;
    padding-left: 20px;
}

.gs-pd-short-desc li {
    margin-bottom: 6px;
}

.gs-pd-variant-table {
    width: 100%;
    margin-bottom: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.gs-pd-variant-table th {
    background: #f9fafb;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.gs-pd-variant-table td {
    padding: 12px 16px;
    font-size: 14px;
    border-top: 1px solid #f3f4f6;
}

.gs-pd-variant-table tr {
    transition: background-color 0.15s ease;
    cursor: pointer;
}

.gs-pd-variant-table tr:hover {
    background: #f9fafb;
}

.gs-pd-variant-table tr.gs-active {
    background: #f0fdfa;
}

.gs-pd-variant-table tr.gs-active td {
    color: #0d9488;
    font-weight: 600;
}

.gs-pd-qty-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.gs-pd-qty-label {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
}

.gs-pd-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.gs-pd-actions .gs-btn {
    flex: 1;
    padding: 16px 24px;
    font-size: 16px;
}

.gs-pd-actions .gs-btn-icon {
    flex: 0;
    width: 52px;
    height: 52px;
}

.gs-pd-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    background: #f9fafb;
    border-radius: 10px;
    margin-bottom: 24px;
}

.gs-pd-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #475569;
}

.gs-pd-meta-item i {
    font-size: 18px;
    color: #0d9488;
    width: 24px;
    text-align: center;
}

.gs-pd-meta-item strong {
    font-weight: 600;
}

.gs-pd-tabs {
    margin-top: 48px;
}

.gs-pd-tab-nav {
    display: flex;
    gap: 4px;
    border-bottom: none;
    overflow-x: auto;
    background: #f8fafc;
    border-radius: 10px;
    padding: 4px;
}

.gs-pd-tab-btn {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    transition: all 0.2s ease;
    border-radius: 8px;
}

.gs-pd-tab-btn::after {
    display: none;
}

.gs-pd-tab-btn:hover {
    color: #0d9488;
    background: rgba(13, 148, 136, 0.05);
}

.gs-pd-tab-btn.gs-active {
    color: #0d9488;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.gs-pd-tab-btn.gs-active::after {
    display: none;
}

.gs-pd-tab-content {
    display: none;
    padding: 24px 0;
    font-size: 14px;
    line-height: 1.8;
    color: #475569;
}

.gs-pd-tab-content.gs-active {
    display: block;
}

.gs-pd-tab-content h3 {
    margin-bottom: 12px;
    margin-top: 24px;
}

.gs-pd-tab-content h3:first-child {
    margin-top: 0;
}

.gs-pd-tab-content p {
    margin-bottom: 16px;
}

.gs-pd-tab-content ul {
    list-style: disc;
    padding-left: 24px;
    margin-bottom: 16px;
}

.gs-pd-tab-content ol {
    list-style: decimal;
    padding-left: 24px;
    margin-bottom: 16px;
}

.gs-pd-tab-content li {
    margin-bottom: 6px;
}

/* ============================================
   Product Detail - BEM Styles (gs-pd__)
   ============================================ */
/* ─── Product Detail — Stacked Layout ──────────── */
.gs-pd {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0 32px;
    /* max-width: 960px; */
    /* margin: 0 auto; */
}

/* Header — title + brand + rating above everything */
.gs-pd__header {
    padding: 16px 0 12px;
}

/* Gallery — full width, centered */
.gs-pd__gallery {
    min-width: 0;
    max-width: 100%;
    margin-bottom: 16px;
}

.gs-pd__gallery--multi {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gs-pd__thumbs-col,
.gs-pd__thumbs-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 4px 0;
}
.gs-pd__thumbs-row::-webkit-scrollbar { display: none; }

.gs-pd__thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    background: #f8fafc;
    flex-shrink: 0;
    padding: 5px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gs-pd__thumb:hover {
    border-color: #e2e8f0;
    background: #f1f5f9;
}

.gs-pd__thumb.gs-active {
    border-color: #0d9488;
    box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.15);
}

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

.gs-pd__main-img {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    aspect-ratio: 4 / 3;
    background: #f8fafc;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    cursor: zoom-in;
    position: relative;
    border: 1px solid #f1f5f9;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-pd__main-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.gs-pd__main-img:hover img {
    transform: scale(1.08);
}

.gs-pd__img-nav {
    position: absolute;
    top: 50%;
    left: 12px;
    right: 12px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.gs-pd__img-nav-btn {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: all;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
}

.gs-pd__img-nav-btn:hover {
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.gs-pd__img-counter {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
}

.gs-pd__zoom-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    color: #475569;
    transition: all 0.2s;
}

.gs-pd__zoom-btn:hover {
    background: #ffffff;
    color: #0d9488;
}

/* Badges on product image */
.gs-badge--discount {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    background: linear-gradient(135deg, #ea580c, #f97316);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    z-index: 2;
}

.gs-badge--rx {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 10px;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 2;
}

.gs-badge--lg {
    font-size: 12px;
    padding: 5px 12px;
}

/* Product Info */
.gs-pd__info {
    padding-top: 0;
}

.gs-pd__meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    padding: 16px 0;
    margin-bottom: 16px;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}
.gs-pd__meta-cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.gs-pd__meta-cell .gs-pd__meta-label {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.gs-pd__meta-link {
    font-size: 14px;
    color: #0f766e;
    font-weight: 600;
    text-decoration: none;
}
.gs-pd__meta-link:hover { text-decoration: underline; }
.gs-pd__meta-val {
    font-size: 14px;
    color: #334155;
    font-weight: 500;
}

.gs-pd__brand {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    color: #0d9488;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
    padding: 3px 8px;
    background: #f0fdfa;
    border-radius: 4px;
}

.gs-pd__brand:hover {
    background: #ccfbf1;
    color: #0f766e;
}

.gs-pd__name {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 12px;
    letter-spacing: -0.03em;
}

.gs-pd__rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.gs-rating-badge-lg {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #059669;
    color: #fff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
}

.gs-rating-badge-lg i {
    font-size: 12px;
}

.gs-rating-text {
    font-size: 14px;
    color: #64748b;
}

.gs-pd__short-desc {
    font-size: 15px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 16px;
}

.gs-pd__generic {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 6px;
}

.gs-pd__generic-link {
    color: #0d9488;
    font-weight: 600;
}

.gs-pd__generic-link:hover {
    text-decoration: underline;
    color: #0f766e;
}

.gs-pd__meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #475569;
    margin-bottom: 6px;
}

.gs-pd__meta-label {
    font-weight: 600;
    color: #64748b;
}

.gs-pd__meta-value {
    color: #1a1a2e;
}

.gs-pd__oos-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    margin: 12px 0;
}

.gs-pd__out-of-stock {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    margin: 16px 0;
}

/* Price Block */
.gs-pd__price-block {
    padding: 18px;
    background: #f8fafc;
    border-radius: 10px;
    border: none;
    margin: 14px 0;
}

.gs-pd__price {
    font-size: 30px;
    font-weight: 800;
    color: #1a1a2e;
    margin-right: 10px;
    letter-spacing: -0.03em;
}

.gs-pd__mrp {
    font-size: 16px;
    color: #94a3b8;
    margin-right: 8px;
}

.gs-pd__discount {
    font-size: 13px;
    font-weight: 700;
    color: #059669;
    background: #ecfdf5;
    padding: 3px 10px;
    border-radius: 4px;
}

.gs-pd__savings {
    font-size: 13px;
    color: #059669;
    font-weight: 600;
    margin-top: 8px;
}

.gs-pd__tax-note {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 6px;
    margin-bottom: 0;
}

/* Rx Notice */
.gs-pd__rx-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: #fef2f2;
    border: none;
    border-left: 3px solid #dc2626;
    border-radius: 8px;
    margin: 14px 0;
    font-size: 13px;
    color: #475569;
}

.gs-pd__rx-notice i {
    font-size: 22px;
    color: #dc2626;
    margin-top: 2px;
    flex-shrink: 0;
}

.gs-pd__rx-notice strong {
    display: block;
    margin-bottom: 4px;
    color: #1a1a2e;
}

.gs-pd__rx-notice p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
}

/* Cart Section */
.gs-pd__cart-section {
    display: flex;
    gap: 12px;
    margin: 20px 0;
    align-items: center;
}

.gs-qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.gs-qty-btn {
    width: 40px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    background: #f9fafb;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.gs-qty-btn:hover {
    background: #f3f4f6;
}

.gs-qty-input {
    width: 48px;
    height: 44px;
    text-align: center;
    border: none;
    border-left: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
    background: #fff;
}

.gs-btn-cart-main {
    flex: 1;
    padding: 14px 24px;
    font-size: 16px;
}

.gs-btn-secondary {
    background: #f3f4f6;
    color: #475569;
    border-color: #e5e7eb;
}

.gs-btn-secondary:hover {
    background: #e5e7eb;
    color: #1a1a2e;
}

.gs-btn-buy {
    padding: 14px 24px;
    font-size: 16px;
}

/* Delivery Info */
/* Delivery promises — horizontal number badges */
.gs-pd__promises {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 16px 0;
}
.gs-pd__promise {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 14px 8px;
    border: 1px solid #e9eef3;
    border-radius: 10px;
    gap: 4px;
}
.gs-pd__promise-icon {
    font-size: 20px;
    font-weight: 800;
    color: #0f766e;
    line-height: 1;
}
.gs-pd__promise-text {
    font-size: 11.5px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.3;
}

/* Variant Table */
.gs-vt {
    margin: 16px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-vt__table {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    border-collapse: collapse;
}

.gs-vt__table th {
    background: #f9fafb;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.gs-vt__table td {
    padding: 12px 14px;
    font-size: 14px;
    border-top: 1px solid #f3f4f6;
    vertical-align: middle;
}

.gs-vt__row {
    transition: background 0.15s;
}

.gs-vt__row:hover {
    background: #f9fafb;
}

.gs-vt__sale {
    font-weight: 700;
    color: #1a1a2e;
}

.gs-vt__mrp {
    font-size: 12px;
    color: #94a3b8;
    margin-left: 6px;
}

.gs-vt__off {
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    background: #ecfdf5;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
}

.gs-vt__perunit {
    font-size: 13px;
    color: #64748b;
}

.gs-vt__qty-ctrl {
    display: flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.gs-vt__qty-btn {
    width: 30px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    background: #f9fafb;
    border: none;
    cursor: pointer;
    color: #475569;
}

.gs-vt__qty-btn:hover {
    background: #f3f4f6;
}

.gs-vt__qty-input {
    width: 36px;
    height: 32px;
    text-align: center;
    border: none;
    border-left: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
    font-size: 13px;
    font-weight: 600;
    background: #fff;
}

.gs-vt__btn-text {
    display: inline;
}

/* ─── Mobile Sticky Add to Cart Bar ────────────── */
.gs-pd-sticky-bar {
    display: none;
    position: fixed;
    bottom: 60px;
    left: 0;
    right: 0;
    z-index: 900;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    padding: 10px 16px;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.1);
    gap: 10px;
    align-items: center;
}
.gs-pd-sticky-bar__info {
    flex: 1;
    min-width: 0;
}
.gs-pd-sticky-bar__name {
    font-size: 12px;
    font-weight: 600;
    color: #334155;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-pd-sticky-bar__price {
    font-size: 16px;
    font-weight: 800;
    color: #1e293b;
}
.gs-pd-sticky-bar__btns {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.gs-pd-sticky-bar > .gs-pd-sticky-bar__btn--buy {
    flex-shrink: 0;
}
.gs-pd-sticky-bar__btn {
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: all 0.15s;
}
.gs-pd-sticky-bar__btn--cart {
    background: #0f766e;
    color: #fff;
}
.gs-pd-sticky-bar__btn--cart:hover {
    background: #115e59;
}
.gs-pd-sticky-bar__btn--buy {
    background: #f8fafc;
    color: #0f766e;
    border: 1.5px solid #0f766e;
}
.gs-pd-sticky-bar__btn--buy:hover {
    background: #f0fdfa;
}

/* Info Sections (tabs as scrollable sections) */
.gs-info-sections {
    margin-top: 40px;
}

.gs-info-nav {
    position: sticky;
    top: 72px;
    background: #fff;
    z-index: 50;
    border-bottom: 1px solid #e9eef3;
    margin-bottom: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 8px, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 8px, #000 calc(100% - 28px), transparent);
}

.gs-info-nav::-webkit-scrollbar {
    display: none;
}

.gs-info-nav__list {
    display: flex;
    gap: 4px;
    list-style: none;
    padding: 8px 4px;
    margin: 0;
}

.gs-info-nav__list .gs-tab-btn {
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    text-decoration: none;
    display: block;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: all 0.15s;
}

.gs-info-nav__list .gs-tab-btn:hover {
    color: #0f766e;
    background: #f0fdfa;
}

.gs-info-nav__list .gs-tab-btn.gs-active {
    color: #0f766e;
    background: #f0fdfa;
    border-color: #99f6e4;
}

.gs-tab-pane {
    padding: 20px 0;
    border-bottom: 1px solid #f3f4f6;
}

.gs-tab-pane__title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #1e293b;
}

/* ─── Shared CKEditor / rich-text content ──────── */
.gs-rich-text,
.gs-tab-body,
.gs-blog-detail-content,
.gs-page-content,
.gs-cat-about__desc {
    font-size: 14.5px;
    line-height: 1.65;
    color: #475569;
}

.gs-rich-text h2, .gs-tab-body h2 {
    font-size: 20px;
    font-weight: 700;
    margin: 18px 0 8px;
    color: #1e293b;
}
.gs-rich-text h2:first-child, .gs-tab-body h2:first-child { margin-top: 0; }

.gs-rich-text h3, .gs-tab-body h3 {
    font-size: 17px;
    font-weight: 600;
    margin: 14px 0 6px;
    color: #1e293b;
}
.gs-rich-text h3:first-child, .gs-tab-body h3:first-child { margin-top: 0; }

.gs-rich-text h4, .gs-tab-body h4 {
    font-size: 15px;
    font-weight: 600;
    margin: 10px 0 4px;
    color: #1e293b;
}

.gs-rich-text p, .gs-tab-body p {
    margin-bottom: 8px;
}
.gs-rich-text p:last-child, .gs-tab-body p:last-child { margin-bottom: 0; }

.gs-rich-text ul, .gs-tab-body ul {
    list-style: disc;
    padding-left: 22px;
    margin-bottom: 8px;
}

.gs-rich-text ol, .gs-tab-body ol {
    list-style: decimal;
    padding-left: 22px;
    margin-bottom: 8px;
}

.gs-rich-text li, .gs-tab-body li {
    margin-bottom: 3px;
}

.gs-rich-text a, .gs-tab-body a {
    color: #0d9488;
    text-decoration: underline;
    text-decoration-color: #ccfbf1;
    text-underline-offset: 2px;
}
.gs-rich-text a:hover, .gs-tab-body a:hover {
    color: #0f766e;
    text-decoration-color: #0d9488;
}

.gs-rich-text blockquote, .gs-tab-body blockquote {
    border-left: 3px solid #0d9488;
    background: #f0fdfa;
    padding: 12px 16px;
    margin: 12px 0;
    border-radius: 0 6px 6px 0;
    font-style: italic;
    color: #475569;
}

.gs-rich-text strong, .gs-tab-body strong {
    color: #1e293b;
}

.gs-rich-text img, .gs-tab-body img {
    border-radius: 8px;
    margin: 12px 0;
    max-width: 100%;
    height: auto;
}

.gs-rich-text table, .gs-tab-body table {
    width: 100%;
    margin: 12px 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    border-collapse: collapse;
    overflow: hidden;
}

.gs-rich-text table th, .gs-tab-body table th {
    background: #f8fafc;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 13px;
    color: #1e293b;
    border-bottom: 1px solid #e2e8f0;
}

.gs-rich-text table td, .gs-tab-body table td {
    padding: 10px 14px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
}

/* Reviews */
.gs-reviews-section {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid #f3f4f6;
}

.gs-no-reviews {
    font-size: 14px;
    color: #94a3b8;
    margin-top: 12px;
}

.gs-review-notice {
    font-size: 14px;
    color: #64748b;
    margin-top: 16px;
}

.gs-review-notice a {
    color: #0d9488;
    font-weight: 600;
}

/* Star Picker */
.gs-star-picker {
    display: flex;
    gap: 4px;
}

.gs-star-pick {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    font-size: 24px;
    color: #d1d5db;
    transition: color 0.15s;
}

.gs-star-pick:hover {
    color: #f59e0b;
}

.gs-star-pick i.fas {
    color: #f59e0b;
}

/* Verified Badge */
.gs-verified-badge {
    font-size: 12px;
    color: #059669;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Related Section */
.gs-related-section {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 2px solid #f1f5f9;
}

/* Popular Categories Grid (product page) */
.gs-popular-cats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.gs-popular-cat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: all 0.2s ease;
    color: inherit;
}

.gs-popular-cat-card:hover {
    box-shadow: 0 6px 20px rgba(13, 148, 136, 0.1);
    transform: translateY(-2px);
    color: inherit;
}

.gs-popular-cat-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f0fdfa;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gs-popular-cat-card__icon i {
    font-size: 20px;
    color: #0d9488;
}

.gs-popular-cat-card__icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.gs-popular-cat-card__info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gs-popular-cat-card__name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
}

.gs-popular-cat-card__count {
    font-size: 12px;
    color: #0d9488;
    font-weight: 500;
}

.gs-section__header-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.gs-view-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #0d9488;
    padding: 5px 12px;
    background: #f0fdfa;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.gs-view-all:hover {
    background: #0d9488;
    color: #ffffff;
}

.gs-section__count {
    font-size: 16px;
    font-weight: 500;
    color: #64748b;
}

.gs-grid-4 {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Lightbox */
.gs-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
}

.gs-lightbox.gs-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gs-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
}

.gs-lightbox__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90vw;
    max-height: 90vh;
}

.gs-lightbox__img {
    max-width: 80vw;
    max-height: 70vh;
    object-fit: contain;
    border-radius: 8px;
}

.gs-lightbox__close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.gs-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.3);
}

.gs-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.gs-lightbox__nav:hover {
    background: rgba(255, 255, 255, 0.3);
}

.gs-lightbox__prev {
    left: -60px;
}

.gs-lightbox__next {
    right: -60px;
}

.gs-lightbox__counter {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin-top: 12px;
}

.gs-lightbox__thumbs {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    overflow-x: auto;
    max-width: 80vw;
    padding-bottom: 4px;
}

.gs-lightbox__thumb {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    background: rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
    padding: 4px;
    transition: border-color 0.2s;
}

.gs-lightbox__thumb.gs-active {
    border-color: #0d9488;
}

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

/* Product page responsive */
@media (max-width: 1024px) {
    .gs-grid-4 {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .gs-pd {
        overflow: hidden;
        padding-bottom: 60px;
    }

    .gs-pd__main-img {
        aspect-ratio: 4 / 3;
        padding: 16px;
    }

    .gs-pd__thumb {
        width: 56px;
        height: 56px;
    }

    .gs-pd__meta-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gs-pd__name {
        font-size: 20px;
        line-height: 1.3;
    }

    .gs-pd__price {
        font-size: 24px;
    }

    .gs-pd__cart-section {
        flex-direction: column;
        gap: 10px;
    }

    .gs-pd__cart-section .gs-qty-selector {
        width: 100%;
        justify-content: center;
    }

    .gs-btn-cart-main,
    .gs-btn-buy {
        width: 100%;
        font-size: 15px;
        padding: 14px 18px;
        justify-content: center;
        text-align: center;
    }

    .gs-grid-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .gs-info-nav {
        top: 56px;
    }

    .gs-info-nav__list {
        padding: 6px 2px;
        gap: 3px;
    }

    .gs-info-nav__list .gs-tab-btn {
        padding: 6px 12px;
        font-size: 12px;
    }

    .gs-tab-pane {
        padding: 16px 0;
    }

    .gs-tab-pane__title {
        font-size: 16px;
    }

    .gs-vt__btn-text {
        display: none;
    }

    /* Variant table — compact card layout on mobile */
    .gs-vt__table { border: none; }
    .gs-vt__table thead { display: none; }
    .gs-vt__table tbody { display: flex; flex-direction: column; gap: 8px; }
    .gs-vt__row {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        background: #fff;
        flex-wrap: wrap;
    }
    .gs-vt__row:hover { background: #f8fafb; }
    .gs-vt__table td { padding: 0; border: none; }
    .gs-vt__pack {
        width: 100%;
        font-size: 14px;
        margin-bottom: 2px;
    }
    .gs-vt__price {
        display: flex;
        align-items: center;
        gap: 5px;
        flex-wrap: wrap;
        flex: 1;
    }
    .gs-vt__price .gs-vt__sale { font-size: 15px; }
    .gs-vt__perunit {
        font-size: 11px;
        color: #94a3b8;
    }
    .gs-vt__qty { display: none; }
    .gs-vt__action {
        margin-left: auto;
    }

    /* Sticky mobile bottom bar — enabled but hidden by JS until scroll */
    .gs-pd-sticky-bar {
        display: none;
    }

    .gs-lightbox__prev {
        left: 10px;
    }

    .gs-lightbox__next {
        right: 10px;
    }

    .gs-pd__promises {
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
    }
    .gs-pd__promise { padding: 10px 6px; }
    .gs-pd__promise-icon { font-size: 17px; }
    .gs-pd__promise-text { font-size: 10.5px; }

    .gs-reviews-section {
        margin-top: 24px;
        padding-top: 20px;
    }
}

@media (max-width: 480px) {
    .gs-pd__main-img {
        padding: 12px;
    }

    .gs-pd__name {
        font-size: 18px;
    }

    .gs-pd__price {
        font-size: 22px;
    }

    .gs-pd__cart-section {
        gap: 8px;
    }

    .gs-info-nav__list .gs-tab-btn {
        padding: 5px 10px;
        font-size: 11.5px;
    }

    .gs-grid-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }

    .gs-vt__row {
        padding: 12px;
    }
}

.gs-review-section {
    padding: 32px 0;
}

.gs-review-summary {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    margin-bottom: 40px;
    padding: 32px;
    background: #f9fafb;
    border-radius: 16px;
}

.gs-review-avg {
    text-align: center;
    min-width: 160px;
}

.gs-review-avg__number {
    font-size: 52px;
    font-weight: 800;
    color: #1a1a2e;
    line-height: 1;
}

.gs-review-avg__stars {
    display: flex;
    justify-content: center;
    gap: 3px;
    margin: 8px 0;
    color: #e11d48;
}

.gs-review-avg__stars i {
    font-size: 20px;
}

.gs-review-avg__count {
    font-size: 14px;
    color: #64748b;
}

.gs-review-bars {
    flex: 1;
}

.gs-review-bar__row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.gs-review-bar__label {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    min-width: 40px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.gs-review-bar__label i {
    font-size: 12px;
    color: #e11d48;
}

.gs-review-bar__track {
    flex: 1;
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
}

.gs-review-bar__fill {
    height: 100%;
    border-radius: 4px;
    background: #e11d48;
    transition: width 0.5s ease;
}

.gs-review-bar__count {
    font-size: 13px;
    color: #94a3b8;
    min-width: 30px;
    text-align: right;
}

.gs-review-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.gs-review-card {
    padding: 24px;
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
}

.gs-review-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.gs-review-card__user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gs-review-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f0fdfa;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: #0d9488;
}

.gs-review-card__name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
}

.gs-review-card__date {
    font-size: 13px;
    color: #94a3b8;
}

.gs-review-card__rating {
    display: flex;
    gap: 2px;
    color: #e11d48;
}

.gs-review-card__rating i {
    font-size: 14px;
}

.gs-review-card__title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
}

.gs-review-card__body {
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
}

.gs-review-card__verified {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #059669;
    font-weight: 600;
    margin-top: 12px;
}

.gs-review-card__verified i {
    font-size: 14px;
}

.gs-review-form {
    background: #f9fafb;
    border-radius: 10px;
    padding: 32px;
    margin-top: 32px;
}

.gs-review-form h3 {
    margin-bottom: 20px;
}

.gs-review-star-input {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
}

.gs-review-star-input i {
    font-size: 28px;
    color: #d1d5db;
    cursor: pointer;
    transition: color 0.15s ease;
}

.gs-review-star-input i:hover,
.gs-review-star-input i.gs-active {
    color: #e11d48;
}

.gs-dropdown {
    position: relative;
    display: inline-block;
}

.gs-dropdown__trigger {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.gs-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06);
    border: 1px solid #f1f5f9;
    padding: 8px 0;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.25s ease;
}

.gs-dropdown.gs-open .gs-dropdown__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gs-dropdown__menu--right {
    left: auto;
    right: 0;
}

.gs-dropdown__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 14px;
    color: #475569;
    transition: all 0.15s ease;
    cursor: pointer;
}

.gs-dropdown__item:hover {
    background: #f3f4f6;
    color: #0d9488;
}

.gs-dropdown__item i {
    font-size: 18px;
    width: 22px;
    text-align: center;
    color: #64748b;
}

.gs-dropdown__item:hover i {
    color: #0d9488;
}

.gs-dropdown__divider {
    height: 1px;
    background: #f3f4f6;
    margin: 6px 0;
}

.gs-drawer__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.gs-drawer__overlay.gs-open {
    opacity: 1;
    visibility: visible;
}

.gs-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 100%;
    background: #ffffff;
    z-index: 10001;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.gs-drawer.gs-open {
    transform: translateX(0);
}

.gs-drawer--right {
    left: auto;
    right: 0;
    transform: translateX(100%);
}

.gs-drawer--right.gs-open {
    transform: translateX(0);
}

.gs-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.gs-drawer__header .gs-drawer__title {
    font-size: 18px;
    font-weight: 700;
}

.gs-drawer__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #64748b;
    transition: all 0.25s ease;
    cursor: pointer;
    background: none;
    border: none;
}

.gs-drawer__close:hover {
    background: #f3f4f6;
    color: #1a1a2e;
}

.gs-drawer__close i {
    font-size: 22px;
}

.gs-drawer__body {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
}

.gs-drawer__footer {
    padding: 20px;
    border-top: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.gs-drawer__nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 15px;
    font-weight: 500;
    color: #475569;
}

.gs-drawer__nav li:last-child a {
    border-bottom: none;
}

.gs-drawer__nav a i {
    font-size: 20px;
    color: #64748b;
    width: 24px;
    text-align: center;
}

.gs-drawer__nav a .gs-drawer__nav-arrow {
    margin-left: auto;
    font-size: 16px;
    color: #d1d5db;
}

.gs-disclaimer {
    background: #fff1f2;
    border: 1px solid #fde68a;
    border-radius: 10px;
    padding: 20px 24px;
    margin: 24px 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.gs-disclaimer i {
    font-size: 22px;
    color: #e11d48;
    flex-shrink: 0;
    margin-top: 1px;
}

.gs-disclaimer-content h5 {
    font-size: 15px;
    font-weight: 700;
    color: #92400e;
    margin-bottom: 4px;
}

.gs-disclaimer-content p {
    font-size: 13px;
    color: #92400e;
    line-height: 1.6;
    opacity: 0.85;
}

.gs-modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
}

.gs-modal__overlay.gs-open {
    opacity: 1;
    visibility: visible;
}

.gs-modal {
    background: #ffffff;
    border-radius: 14px;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(16px);
    transition: transform 0.25s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.gs-modal__overlay.gs-open .gs-modal {
    transform: translateY(0);
}

.gs-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 0;
}

.gs-modal__header h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.gs-modal__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #94a3b8;
    transition: all 0.2s ease;
    cursor: pointer;
    background: none;
    border: none;
}

.gs-modal__close:hover {
    background: #f1f5f9;
    color: #1a1a2e;
}

.gs-modal__body {
    padding: 20px 24px;
}

.gs-modal__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 24px 20px;
}

.gs-table {
    width: 100%;
    border: none;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-table th {
    background: #f8fafc;
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #e2e8f0;
}

.gs-table td {
    padding: 12px 16px;
    font-size: 14px;
    color: #475569;
    border-bottom: 1px solid #f1f5f9;
}

.gs-table tr:last-child td {
    border-bottom: none;
}

.gs-table tr:hover td {
    background: #f8fafc;
}

.gs-order-card {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 16px;
}

.gs-order-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #f9fafb;
    border-bottom: 1px solid #f3f4f6;
    flex-wrap: wrap;
    gap: 12px;
}

.gs-order-card__number {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
}

.gs-order-card__date {
    font-size: 13px;
    color: #64748b;
}

.gs-order-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
}

.gs-order-status-pending {
    background: #fff1f2;
    color: #92400e;
}

.gs-order-status-processing {
    background: #f0fdfa;
    color: #0f766e;
}

.gs-order-status-shipped {
    background: #f0f9ff;
    color: #075985;
}

.gs-order-status-delivered {
    background: #ecfdf5;
    color: #065f46;
}

.gs-order-status-cancelled {
    background: #fef2f2;
    color: #991b1b;
}

.gs-order-card__body {
    padding: 20px;
}

.gs-order-card__items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gs-order-card__item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gs-order-card__item img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 8px;
    background: #f9fafb;
    padding: 4px;
}

.gs-order-card__item-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a2e;
    flex: 1;
}

.gs-order-card__item-qty {
    font-size: 13px;
    color: #64748b;
}

.gs-order-card__item-price {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
}

.gs-order-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-top: 1px solid #f3f4f6;
}

.gs-order-card__total {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
}

.gs-account-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 24px;
    align-items: start;
}

.gs-account-sidebar {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    overflow: hidden;
    position: sticky;
    top: 84px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-account-sidebar__header {
    padding: 20px;
    text-align: center;
    border-bottom: 2px solid #f1f5f9;
    background: #f8fafc;
}

.gs-account-sidebar__avatar {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0d9488, #14b8a6);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
}

.gs-account-sidebar__name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: -0.02em;
}

.gs-account-sidebar__email {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.gs-account-sidebar__nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    border-bottom: 1px solid #f1f5f9;
    transition: all 0.2s ease;
}

.gs-account-sidebar__nav a:last-child {
    border-bottom: none;
}

.gs-account-sidebar__nav a:hover {
    background: #f9fafb;
    color: #0d9488;
}

.gs-account-sidebar__nav a.gs-active {
    background: #f0fdfa;
    color: #0d9488;
    border-left: 3px solid #0d9488;
}

.gs-account-sidebar__nav a i {
    font-size: 20px;
    width: 24px;
    text-align: center;
}

.gs-account-content {
    min-width: 0;
}

.gs-account-section {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #f1f5f9;
    padding: 28px;
    margin-bottom: 24px;
}

.gs-account-section__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}

.gs-address-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.gs-address-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px;
    position: relative;
    transition: border-color 0.25s ease;
}

.gs-address-card:hover {
    border-color: #0d9488;
}

.gs-address-card.gs-default {
    border-color: #0d9488;
    background: #f0fdfa;
}

.gs-address-card-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 2px 10px;
    background: #0d9488;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 50px;
}

.gs-address-card-name {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 8px;
}

.gs-address-card-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 12px;
}

.gs-address-card-phone {
    font-size: 14px;
    color: #475569;
    font-weight: 500;
    margin-bottom: 16px;
}

.gs-address-card-actions {
    display: flex;
    gap: 12px;
}

.gs-address-card-actions a {
    font-size: 13px;
    font-weight: 600;
    color: #0d9488;
}

.gs-address-card-actions a.gs-text-danger {
    color: #dc2626;
}

.gs-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.gs-prescription-upload {
    border: 2px dashed #d1d5db;
    border-radius: 16px;
    padding: 48px;
    text-align: center;
    transition: all 0.25s ease;
    cursor: pointer;
    background: #f9fafb;
}

.gs-prescription-upload:hover {
    border-color: #0d9488;
    background: #f0fdfa;
}

.gs-prescription-upload.gs-drag-over {
    border-color: #0d9488;
    background: #f0fdfa;
}

.gs-prescription-upload i {
    font-size: 48px;
    color: #94a3b8;
    margin-bottom: 16px;
}

.gs-prescription-upload h4 {
    font-size: 18px;
    margin-bottom: 8px;
}

.gs-prescription-upload p {
    font-size: 14px;
    color: #64748b;
}

.gs-prescription-upload .gs-btn {
    margin-top: 16px;
}

.gs-skeleton {
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200% 100%;
    animation: gs-skeleton-loading 1.5s infinite;
    border-radius: 8px;
}

@keyframes gs-skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.gs-skeleton-text {
    height: 14px;
    margin-bottom: 8px;
}

.gs-skeleton-text-sm {
    height: 10px;
    width: 60%;
}

.gs-skeleton-heading {
    height: 22px;
    width: 70%;
    margin-bottom: 12px;
}

.gs-skeleton-img {
    aspect-ratio: 1 / 1;
}

.gs-skeleton-btn {
    height: 44px;
    border-radius: 8px;
}

.gs-skeleton-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.gs-product-list-item {
    display: flex;
    gap: 20px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
    transition: all 0.25s ease;
    margin-bottom: 16px;
}

.gs-product-list-item:hover {
    border-color: #e5e7eb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.gs-product-list-item__img {
    width: 160px;
    height: 160px;
    flex-shrink: 0;
    background: #f9fafb;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}

.gs-product-list-item__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gs-product-list-item__info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.gs-product-list-item__brand {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.gs-product-list-item__name {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 6px;
    transition: color 0.25s ease;
}

.gs-product-list-item:hover .gs-product-list-item__name {
    color: #0d9488;
}

.gs-product-list-item__desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gs-product-list-item__pricing {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
    margin-top: auto;
}

.gs-product-list-item__price {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
}

.gs-product-list-item__mrp {
    font-size: 15px;
    color: #94a3b8;
    text-decoration: line-through;
}

.gs-product-list-item__actions {
    display: flex;
    gap: 10px;
}

.gs-tab-nav {
    display: flex;
    gap: 4px;
    background: #f3f4f6;
    padding: 4px;
    border-radius: 10px;
    overflow-x: auto;
}

.gs-tab-btn {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.gs-tab-btn:hover {
    color: #1a1a2e;
}

.gs-tab-btn.gs-active {
    background: #ffffff;
    color: #0d9488;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.gs-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    background: #f3f4f6;
    color: #475569;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 500;
}

.gs-tag-primary {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-tag-success {
    background: #ecfdf5;
    color: #059669;
}

.gs-tag-danger {
    background: #fef2f2;
    color: #dc2626;
}

.gs-tag-warning {
    background: #fff1f2;
    color: #92400e;
}

.gs-tooltip {
    position: relative;
}

.gs-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 12px;
    background: #1f2937;
    color: #ffffff;
    font-size: 12px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    pointer-events: none;
    z-index: 100;
}

.gs-tooltip::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: #1f2937;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    pointer-events: none;
    z-index: 100;
}

.gs-tooltip:hover::after,
.gs-tooltip:hover::before {
    opacity: 1;
    visibility: visible;
}

.gs-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 24px 0;
    border: none;
}

.gs-card {
    background: #ffffff;
    border-radius: 10px;
    border: none;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.03);
}

.gs-card-header {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}

.gs-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.gs-overlay.gs-open {
    opacity: 1;
    visibility: visible;
}

.gs-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f4f6;
    border-top-color: #0d9488;
    border-radius: 50%;
    animation: gs-spin 0.7s linear infinite;
    margin: 0 auto;
}

.gs-loading-spinner--sm {
    width: 20px;
    height: 20px;
    border-width: 2px;
}

.gs-loading-spinner--lg {
    width: 56px;
    height: 56px;
    border-width: 4px;
}

.gs-loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    border-radius: inherit;
}

.gs-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: #0d9488;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 50px;
    line-height: 1;
}

.gs-count-badge-accent {
    background: #e11d48;
}

.gs-count-badge-danger {
    background: #dc2626;
}

.gs-step-tracker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
}

.gs-step-tracker-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
    position: relative;
}

.gs-step-tracker-item::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: #e5e7eb;
}

.gs-step-tracker-item:last-child::before {
    display: none;
}

.gs-step-tracker-dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    position: relative;
    z-index: 1;
}

.gs-step-tracker-item.gs-completed .gs-step-tracker-dot {
    background: #059669;
    color: #ffffff;
}

.gs-step-tracker-item.gs-completed::before {
    background: #059669;
}

.gs-step-tracker-item.gs-active .gs-step-tracker-dot {
    background: #0d9488;
    color: #ffffff;
    box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.2);
}

.gs-step-tracker-label {
    font-size: 13px;
    font-weight: 500;
    color: #64748b;
    text-align: center;
}

.gs-step-tracker-item.gs-active .gs-step-tracker-label {
    color: #0d9488;
    font-weight: 600;
}

.gs-step-tracker-item.gs-completed .gs-step-tracker-label {
    color: #059669;
}

.gs-page-header {
    background: linear-gradient(135deg, #f0fdfa 0%, #f0fdfa 100%);
    padding: 40px 0;
    margin-bottom: 32px;
}

.gs-page-header h1 {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 8px;
}

.gs-page-header p {
    font-size: 15px;
    color: #64748b;
}

.gs-cookie-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #1f2937;
    color: #d1d5db;
    padding: 16px 0;
    z-index: 9998;
    transform: translateY(100%);
    transition: transform 0.4s ease;
}

.gs-cookie-bar.gs-visible {
    transform: translateY(0);
}

.gs-cookie-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.gs-cookie-bar p {
    font-size: 14px;
    color: #d1d5db;
    line-height: 1.5;
}

.gs-cookie-bar p a {
    color: #818cf8;
    text-decoration: underline;
}

.gs-cookie-bar-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

@media (max-width: 1200px) {
    .gs-product-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .gs-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-trust-bar__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-hero__title {
        font-size: 38px;
    }

    .gs-pd-layout {
        gap: 36px;
    }

    .gs-review-summary {
        gap: 32px;
    }

    .gs-wishlist-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .gs-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .gs-promo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-blog-layout {
        grid-template-columns: 1fr;
    }

    .gs-blog-sidebar {
        position: static;
    }

    .gs-listing-layout {
        grid-template-columns: 1fr;
    }

    .gs-listing-sidebar {
        position: static;
    }

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

    .gs-cart-summary {
        position: static;
    }

    .gs-pd-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .gs-pd-gallery {
        position: static;
    }

    .gs-account-layout {
        grid-template-columns: 1fr;
    }

    .gs-account-sidebar {
        position: static;
    }

    .gs-topbar__promo {
        display: none;
    }

    .gs-search-form__cat {
        display: none;
    }

    .gs-navbar__action-label {
        display: none;
    }

    .gs-hero__carousel {
        height: 400px;
    }

    .gs-hero__title {
        font-size: 32px;
    }

    .gs-hero__content {
        left: 40px;
        max-width: 420px;
    }

    .gs-review-summary {
        flex-direction: column;
        gap: 24px;
    }

    .gs-review-avg {
        min-width: auto;
    }

    .gs-address-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 14px;
        padding-bottom: 64px;
    }

    .gs-container {
        padding: 0 16px;
    }

    .gs-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .gs-section {
        padding: 24px 0;
    }

    .gs-section__header {
        margin-bottom: 14px;
    }

    .gs-section__title {
        font-size: 20px;
    }

    .gs-topbar {
        display: none;
    }

    .gs-navbar__inner {
        height: 60px;
        gap: 12px;
    }

    .gs-navbar__hamburger {
        display: flex;
    }

    .gs-search-form {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10002;
        border-radius: 0;
        padding: 12px 16px;
        background: #ffffff;
        display: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .gs-search-form.gs-mobile-open {
        display: flex;
    }

    .gs-navbar__search-toggle {
        display: flex;
    }

    .gs-promo-grid {
        grid-template-columns: 1fr;
    }

    .gs-trust-bar__inner {
        grid-template-columns: 1fr;
    }

    .gs-blog-grid {
        grid-template-columns: 1fr;
    }

    .gs-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .gs-hero__carousel {
        height: 320px;
        border-radius: 10px;
    }

    .gs-hero__content {
        left: 24px;
        right: 24px;
        max-width: none;
    }

    .gs-hero__title {
        font-size: 26px;
    }

    .gs-hero__subtitle {
        font-size: 15px;
        display: none;
    }

    .gs-hero__arrow {
        width: 36px;
        height: 36px;
    }

    .gs-hero__arrow i {
        font-size: 16px;
    }

    .gs-hero__arrow--prev {
        left: 10px;
    }

    .gs-hero__arrow--next {
        right: 10px;
    }

    .gs-mobile-nav {
        display: block;
    }

    .gs-back-to-top {
        bottom: 130px;
    }

    .gs-product-info {
        padding: 12px;
    }

    .gs-product-name {
        font-size: 14px;
    }

    .gs-price {
        font-size: 16px;
    }

    .gs-mrp {
        font-size: 12px;
    }

    .gs-discount-text {
        font-size: 11px;
    }

    .gs-product-brand {
        font-size: 11px;
    }

    .gs-product-pack {
        font-size: 12px;
    }

    .gs-category-scroll__icon {
        width: 64px;
        height: 64px;
    }

    .gs-category-scroll__icon i {
        font-size: 26px;
    }

    .gs-category-scroll__label {
        font-size: 13px;
    }

    .gs-promo-card {
        padding: 20px;
        min-height: 130px;
    }

    .gs-promo-card__title {
        font-size: 17px;
    }

    .gs-promo-card__icon-bg {
        font-size: 50px;
    }

    .gs-cart-item {
        flex-wrap: wrap;
        gap: 16px;
        padding: 16px 20px;
    }

    .gs-cart-item__image {
        width: 72px;
        height: 72px;
    }

    .gs-cart-item__details {
        flex: 1;
        min-width: calc(100% - 100px);
    }

    .gs-form-row {
        grid-template-columns: 1fr;
    }

    .gs-pd-title {
        font-size: 24px;
    }

    .gs-pd-price {
        font-size: 28px;
    }

    .gs-pd-actions {
        flex-direction: column;
    }

    .gs-pd-actions .gs-btn-icon {
        width: 100%;
        height: auto;
        padding: 14px;
    }

    .gs-pd-tab-nav {
        gap: 0;
    }

    .gs-pd-tab-btn {
        padding: 12px 16px;
        font-size: 14px;
    }

    .gs-blog-detail-title {
        font-size: 26px;
    }

    .gs-blog-detail-meta {
        gap: 12px;
    }

    .gs-checkout-steps {
        flex-wrap: wrap;
        gap: 8px;
    }

    .gs-checkout-step-line {
        width: 24px;
    }

    .gs-flash-container {
        left: 16px;
        right: 16px;
        max-width: none;
    }

    .gs-auth-card {
        padding: 32px 24px;
    }

    .gs-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-newsletter__inner {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .gs-newsletter__form {
        max-width: 100%;
        width: 100%;
    }

    .gs-footer-seo__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gs-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .gs-footer__bottom-inner {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .gs-footer__social {
        justify-content: center;
    }

    .gs-footer__payments {
        justify-content: center;
    }

    .gs-page-header {
        padding: 28px 0;
    }

    .gs-page-header h1 {
        font-size: 24px;
    }

    .gs-cookie-bar-inner {
        flex-direction: column;
        text-align: center;
    }

    .gs-step-tracker {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 4px;
    }

    .gs-step-tracker-item {
        min-width: 80px;
    }

    .gs-step-tracker-label {
        font-size: 11px;
    }

    .gs-product-list-item {
        flex-direction: column;
    }

    .gs-product-list-item__img {
        width: 100%;
        height: 200px;
    }

    .gs-order-card__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .gs-listing-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .gs-visible-mobile {
        display: block;
    }

    .gs-hidden-mobile {
        display: none;
    }
}

@media (max-width: 640px) {
    .gs-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .gs-product-img {
        padding: 10px;
    }

    .gs-product-info {
        padding: 10px;
    }

    .gs-product-name {
        font-size: 13px;
        -webkit-line-clamp: 1;
    }

    .gs-price {
        font-size: 15px;
    }

    .gs-mrp {
        font-size: 11px;
    }

    .gs-discount-text {
        font-size: 10px;
        padding: 2px 6px;
    }

    .gs-product-action .gs-btn {
        font-size: 13px;
        padding: 8px 12px;
    }

    .gs-wishlist-btn {
        width: 30px;
        height: 30px;
    }

    .gs-wishlist-btn i {
        font-size: 16px;
    }

    .gs-badge-discount,
    .gs-badge-rx,
    .gs-badge-new {
        font-size: 10px;
        padding: 3px 8px;
    }

    .gs-hero__carousel {
        height: 260px;
    }

    .gs-hero__title {
        font-size: 22px;
    }

    .gs-hero__tag {
        font-size: 11px;
        padding: 4px 12px;
    }

    .gs-hero__actions .gs-btn {
        font-size: 13px;
        padding: 10px 18px;
    }

    .gs-section {
        padding: 32px 0;
    }

    .gs-section__title {
        font-size: 20px;
    }

    .gs-category-scroll {
        gap: 16px;
    }

    .gs-category-scroll__item {
        min-width: 90px;
    }

    .gs-category-scroll__icon {
        width: 56px;
        height: 56px;
    }

    .gs-category-scroll__icon i {
        font-size: 22px;
    }

    .gs-category-scroll__label {
        font-size: 12px;
    }

    .gs-trust-bar__item {
        flex-direction: column;
        text-align: center;
        align-items: center;
        padding: 20px;
    }

    .gs-auth-card {
        padding: 24px 20px;
    }

    .gs-auth-social {
        flex-direction: column;
    }

    .gs-pd-thumbnails {
        gap: 8px;
    }

    .gs-pd-thumbnail {
        width: 64px;
        height: 64px;
    }

    .gs-pd-pricing {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .gs-review-summary {
        padding: 20px;
    }

    .gs-review-avg__number {
        font-size: 40px;
    }

    .gs-review-card {
        padding: 16px;
    }

    .gs-cart-item__image {
        width: 60px;
        height: 60px;
    }

    .gs-cart-header {
        padding: 16px;
    }

    .gs-cart-item {
        padding: 16px;
    }

    .gs-cart-summary {
        padding: 16px;
    }

    .gs-checkout-section {
        padding: 20px;
    }

    .gs-newsletter__group {
        flex-direction: column;
    }

    .gs-modal {
        margin: 12px;
        border-radius: 10px;
    }

    .gs-modal__header {
        padding: 20px;
    }

    .gs-modal__body {
        padding: 20px;
    }

    .gs-modal__footer {
        padding: 0 20px 20px;
    }

    .gs-drawer {
        width: 85%;
        max-width: 320px;
    }
}

@media (max-width: 480px) {
    .gs-container {
        padding: 0 12px;
    }

    h1 { font-size: 28px; }
    h2 { font-size: 24px; }
    h3 { font-size: 20px; }

    .gs-section {
        padding: 20px 0;
    }

    .gs-section__title {
        font-size: 18px;
    }

    .gs-section__title::after {
        width: 36px;
        height: 2px;
    }

    .gs-section__link {
        font-size: 12px;
    }

    .gs-hero__carousel {
        height: 220px;
        border-radius: 10px;
    }

    .gs-hero__content {
        left: 16px;
        right: 16px;
    }

    .gs-hero__title {
        font-size: 20px;
    }

    .gs-hero__tag {
        font-size: 10px;
        padding: 3px 10px;
        margin-bottom: 10px;
    }

    .gs-hero__actions .gs-btn {
        font-size: 12px;
        padding: 8px 14px;
    }

    .gs-hero__dots {
        bottom: 12px;
    }

    .gs-hero__dot {
        width: 8px;
        height: 8px;
    }

    .gs-hero__dot.gs-active {
        width: 20px;
    }

    .gs-product-card .gs-badge {
        top: 6px;
        left: 6px;
    }

    .gs-wishlist-btn {
        top: 6px;
        right: 6px;
        width: 28px;
        height: 28px;
    }

    .gs-wishlist-btn i {
        font-size: 14px;
    }

    .gs-btn {
        font-size: 14px;
        padding: 10px 20px;
    }

    .gs-btn-sm {
        padding: 6px 12px;
        font-size: 12px;
    }

    .gs-btn-lg {
        padding: 14px 24px;
        font-size: 15px;
    }

    .gs-pagination-item {
        min-width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .gs-promo-card {
        padding: 20px;
        min-height: 160px;
    }

    .gs-promo-card__title {
        font-size: 18px;
    }

    .gs-promo-card__badge {
        font-size: 12px;
    }

    .gs-blog-card__body {
        padding: 16px;
    }

    .gs-blog-card__title {
        font-size: 16px;
    }

    .gs-blog-card__excerpt {
        font-size: 13px;
        -webkit-line-clamp: 2;
    }

    .gs-pd-title {
        font-size: 22px;
    }

    .gs-pd-price {
        font-size: 26px;
    }

    .gs-pd-mrp {
        font-size: 18px;
    }

    .gs-pd-main-img {
        padding: 20px;
    }

    .gs-blog-detail-title {
        font-size: 22px;
    }

    .gs-blog-detail-content {
        font-size: 15px;
    }

    .gs-blog-detail-content h2 {
        font-size: 22px;
    }

    .gs-blog-detail-content h3 {
        font-size: 18px;
    }

    .gs-page-header {
        padding: 20px 0;
    }

    .gs-page-header h1 {
        font-size: 22px;
    }

    .gs-navbar__inner {
        height: 56px;
    }

    .gs-navbar__logo-text {
        font-size: 20px;
    }

    .gs-mobile-nav__item {
        font-size: 10px;
        padding: 4px 8px;
    }

    .gs-mobile-nav__item i {
        font-size: 20px;
    }

    .gs-flash {
        padding: 12px 16px;
    }

    .gs-flash-title {
        font-size: 13px;
    }

    .gs-flash-message {
        font-size: 13px;
    }

    .gs-empty-state {
        padding: 48px 16px;
    }

    .gs-empty-state__icon {
        width: 80px;
        height: 80px;
    }

    .gs-empty-state__icon i {
        font-size: 32px;
    }

    .gs-empty-state__title {
        font-size: 20px;
    }

    .gs-empty-state__text {
        font-size: 14px;
    }

    .gs-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .gs-order-card__body {
        padding: 16px;
    }

    .gs-order-card__footer {
        padding: 12px 16px;
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
}

@media (hover: none) {
    .gs-product-card:hover {
        transform: none;
        box-shadow: none;
    }

    .gs-blog-card:hover {
        transform: none;
        box-shadow: none;
    }

    .gs-promo-card:hover {
        transform: none;
    }

    .gs-category-scroll__item:hover {
        transform: none;
    }

    .gs-trust-bar__item:hover {
        transform: none;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    }
}

@media print {
    .gs-topbar,
    .gs-navbar,
    .gs-catnav,
    .gs-mobile-nav,
    .gs-back-to-top,
    .gs-flash-container,
    .gs-cookie-bar {
        display: none !important;
    }

    body {
        padding: 0;
        color: #000000;
        background: #ffffff;
    }

    .gs-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .gs-hero__carousel {
        height: auto;
    }

    a[href]::after {
        content: ' (' attr(href) ')';
        font-size: 12px;
        color: #64748b;
    }
}

/* ===== Missing styles for BEM HTML elements ===== */

/* Navbar: mobile actions container */
.gs-navbar__mobile-actions {
    display: none;
    align-items: center;
    gap: 8px;
}

/* Navbar: mobile search bar below navbar */
.gs-navbar__mobile-search {
    display: none;
    padding: 0 16px 12px;
    background: #ffffff;
}

.gs-navbar__mobile-search .gs-search-form {
    max-width: 100%;
}

/* Navbar: badge (cart count) */
.gs-navbar__badge {
    position: absolute;
    top: 4px;
    right: 6px;
    background: #e11d48;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Navbar: cart link */
.gs-navbar__cart {
    position: relative;
}

/* Search form wrapper */
.gs-search-form__wrapper {
    display: flex;
    align-items: center;
    width: 100%;
}

/* Navbar search container */
.gs-navbar__search {
    flex: 1;
    max-width: 640px;
    display: flex;
}

.gs-navbar__search .gs-search-form {
    width: 100%;
}

/* Mobile label for bottom nav */
.gs-mobile-nav__label {
    font-size: 11px;
}

.gs-mobile-nav__item--cart {
    position: relative;
}

/* Hero: track container */
.gs-hero__track {
    position: relative;
    height: 100%;
}

/* Hero: CTA button */
.gs-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: #0d9488;
    color: #ffffff;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.25s ease;
    border: none;
    cursor: pointer;
}

.gs-hero__cta:hover {
    background: #0f766e;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3);
}

/* Trust bar: simpler horizontal layout used in HTML */
.gs-trust-bar {
    background: linear-gradient(135deg, #f0fdfa 0%, #f0fdfa 100%);
    padding: 16px 0;
}

.gs-trust-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 24px;
    flex-wrap: wrap;
}

.gs-trust-bar__item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    white-space: nowrap;
}

.gs-trust-bar__icon {
    font-size: 20px;
    color: #0d9488;
}

/* Promo card: link wrapper */
.gs-promo-card__link {
    display: flex;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

/* Promo card: icon background */
.gs-promo-card__icon-bg {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 80px;
    opacity: 0.12;
    z-index: 0;
}

/* Promo card: body */
.gs-promo-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* About section */
.gs-about {
}

.gs-about__title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 16px;
    color: #1a1a2e;
    letter-spacing: -0.03em;
}

.gs-about__content {
    font-size: 14px;
    color: #475569;
    line-height: 1.8;
}

.gs-about__content p {
    margin-bottom: 14px;
}

/* Brands row */
.gs-brands-row {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding-bottom: 12px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gs-brands-row::-webkit-scrollbar {
    display: none;
}

.gs-brands-row__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 110px;
    padding: 16px 14px;
    background: #ffffff;
    border: none;
    border-radius: 10px;
    transition: all 0.2s ease;
    text-align: center;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-brands-row__card:hover {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.gs-brands-row__logo {
    height: 40px;
    width: auto;
    object-fit: contain;
}

.gs-brands-row__name {
    font-size: 14px;
    font-weight: 600;
    color: #0d9488;
}

.gs-brands-row__label {
    font-size: 13px;
    color: #64748b;
}

/* Newsletter section */
/* ===== Newsletter ===== */
.gs-newsletter {
    background: #1e293b;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.gs-newsletter__inner {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 36px 0;
}

.gs-newsletter__icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #0d9488, #14b8a6);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #fff;
    flex-shrink: 0;
}

.gs-newsletter__content {
    flex-shrink: 0;
}

.gs-newsletter__heading {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.gs-newsletter__subtext {
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 0;
}

.gs-newsletter__form {
    flex: 1;
    max-width: 440px;
    margin-left: auto;
}

.gs-newsletter__group {
    display: flex;
    gap: 0;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 4px;
}

.gs-newsletter__input {
    flex: 1;
    padding: 12px 16px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #ffffff;
    font-size: 14px;
    outline: none;
}

.gs-newsletter__input::placeholder {
    color: #64748b;
}

.gs-newsletter__btn {
    padding: 12px 24px;
    background: linear-gradient(135deg, #0d9488, #14b8a6);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gs-newsletter__btn:hover {
    background: linear-gradient(135deg, #0f766e, #0d9488);
    transform: translateX(2px);
}

.gs-newsletter__btn:hover {
    background: #f3f4f6;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Footer: missing BEM elements */
.gs-footer__payment-icon {
    font-size: 24px;
    color: #6b7280;
    opacity: 0.7;
    transition: opacity 0.25s ease;
}

.gs-footer__payment-icon:hover {
    opacity: 1;
}

/* Drawer: user section */
.gs-drawer__user {
    padding: 20px;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    gap: 14px;
}

.gs-drawer__user-avatar {
    font-size: 36px;
    color: #0d9488;
}

.gs-drawer__user-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
}

.gs-drawer__user-link {
    font-size: 13px;
    color: #0d9488;
    font-weight: 500;
}

.gs-drawer__user--guest {
    padding: 16px 20px;
}

.gs-drawer__login-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    background: #0d9488;
    color: #ffffff;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
    transition: background-color 0.25s ease;
}

.gs-drawer__login-btn:hover {
    background: #0f766e;
    color: #ffffff;
}

/* Drawer: nav list */
.gs-drawer__nav {
    list-style: none;
    padding: 12px 0;
}

.gs-drawer__nav li {
    border-bottom: none;
}

.gs-drawer__nav a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 500;
    color: #475569;
    transition: all 0.15s ease;
}

.gs-drawer__nav a:hover {
    background: #f3f4f6;
    color: #0d9488;
}

.gs-drawer__nav a i {
    font-size: 18px;
    color: #64748b;
    width: 24px;
    text-align: center;
}

.gs-drawer__heading {
    padding: 12px 20px 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
}

.gs-drawer__divider {
    height: 1px;
    background: #f3f4f6;
    margin: 4px 0;
}

.gs-drawer__link--danger {
    color: #dc2626 !important;
}

.gs-drawer__link--offers {
    color: #e11d48 !important;
    font-weight: 600 !important;
}

/* Drawer: panel */
.gs-drawer__panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 100%;
    background: #ffffff;
    z-index: 10001;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.gs-drawer.gs-open .gs-drawer__panel,
.gs-drawer__panel.gs-open {
    transform: translateX(0);
}

/* Drawer: title */
.gs-drawer__title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
}

/* Category nav: list and link */
.gs-catnav__list {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
}

.gs-catnav__list::-webkit-scrollbar {
    display: none;
}

.gs-catnav__link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: #f3f4f6;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
    transition: all 0.25s ease;
    border: none;
    cursor: pointer;
}

.gs-catnav__link:hover {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-catnav__link--toggle {
    background: #0d9488;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.25s ease;
    border: none;
    cursor: pointer;
}

.gs-catnav__link--toggle:hover {
    background: #0f766e;
    color: #ffffff;
}

.gs-catnav__link--offers {
    color: #e11d48;
    font-weight: 600;
}

.gs-catnav__chevron {
    font-size: 12px;
    transition: transform 0.25s ease;
}

.gs-catnav__item--mega {
    position: relative;
}

/* Mega menu */
/* ─── Mega Menu: Two-Panel Layout ───────────────── */
.gs-mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    width: 680px;
    max-width: calc(100vw - 40px);
    height: 460px;
    background: #ffffff;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    overflow: hidden;
}

.gs-mega-menu.gs-open,
.gs-quicklinks__dropdown:hover .gs-mega-menu {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Left sidebar — parent categories */
.gs-mega__sidebar {
    width: 240px;
    flex-shrink: 0;
    background: #f8fafb;
    border-right: 1px solid #e9eef3;
    overflow-y: auto;
    scrollbar-width: thin;
    padding: 6px 0;
}

.gs-mega__parent {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 13.5px;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    transition: all 0.15s ease;
    border-left: 3px solid transparent;
}
.gs-mega__parent span {
    flex: 1;
    min-width: 0;
}
.gs-mega__parent i:first-child {
    width: 18px;
    text-align: center;
    font-size: 14px;
    color: #94a3b8;
    flex-shrink: 0;
    transition: color 0.15s ease;
}
.gs-mega__arrow {
    font-size: 9px;
    color: #cbd5e1;
    flex-shrink: 0;
    transition: color 0.15s ease;
}
.gs-mega__parent:hover,
.gs-mega__parent.gs-active {
    background: #ffffff;
    color: #0f766e;
    border-left-color: #0d9488;
}
.gs-mega__parent:hover i:first-child,
.gs-mega__parent.gs-active i:first-child {
    color: #0d9488;
}
.gs-mega__parent:hover .gs-mega__arrow,
.gs-mega__parent.gs-active .gs-mega__arrow {
    color: #0d9488;
}

/* Right detail — subcategories */
.gs-mega__detail {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    position: relative;
}
.gs-mega__panel {
    display: none;
    padding: 20px 24px;
    animation: megaFadeIn 0.15s ease;
}
.gs-mega__panel.gs-active {
    display: block;
}
@keyframes megaFadeIn {
    from { opacity: 0; transform: translateX(6px); }
    to { opacity: 1; transform: translateX(0); }
}
.gs-mega__panel-header {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}
.gs-mega__panel-header a {
    font-size: 15px;
    font-weight: 700;
    color: #0f766e;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s ease;
}
.gs-mega__panel-header a:hover {
    gap: 10px;
}
.gs-mega__panel-header a i {
    font-size: 11px;
}
.gs-mega__sublist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 20px;
}
.gs-mega__sublist li a {
    display: flex;
    align-items: center;
    padding: 9px 12px;
    font-size: 13.5px;
    color: #475569;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.15s ease;
}
.gs-mega__sublist li a:hover {
    background: #f0fdfa;
    color: #0f766e;
    padding-left: 16px;
}

/* Product card: rating */
.gs-product-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.gs-rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    background: #ecfdf5;
    color: #059669;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
}

.gs-rating-badge i {
    font-size: 11px;
    color: #e11d48;
}

.gs-rating-text {
    font-size: 12px;
    color: #94a3b8;
}

/* Product card: name wrap */
.gs-product-name-wrap {
    margin-bottom: 4px;
}

/* Product card: btn-cart */
.gs-btn-cart {
    width: 100%;
    background: #0d9488;
    color: #ffffff;
    border-color: #0d9488;
}

.gs-btn-cart:hover {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
}

.gs-btn-disabled {
    width: 100%;
    background: #f3f4f6;
    color: #94a3b8;
    border-color: #f3f4f6;
    cursor: not-allowed;
}

/* Scroll mobile helper (product grids) */
.gs-scroll-mobile {
    /* Desktop: no special behavior */
}

/* Drawer: base reset for wrapper element */
.gs-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    pointer-events: none;
}

.gs-drawer.gs-open {
    pointer-events: auto;
}

/* Cookie bar */
.gs-cookie-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    padding: 16px 0;
    display: none;
}

.gs-cookie-bar.gs-active {
    display: block;
}

.gs-cookie-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.gs-cookie-bar-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Search suggestion items (JS-generated) */
.gs-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    transition: background-color 0.15s ease;
    cursor: pointer;
}

.gs-search-item:hover {
    background: #f3f4f6;
}

.gs-search-item__img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 8px;
    background: #f9fafb;
}

.gs-search-item__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gs-search-item__name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a2e;
}

.gs-search-item__price {
    font-size: 13px;
    color: #0d9488;
    font-weight: 600;
}

.gs-search-empty {
    padding: 16px;
    text-align: center;
    font-size: 14px;
    color: #64748b;
}

.gs-search-suggestions.gs-open {
    display: block;
}

/* Toast notifications */
/* ─── Notification toasts (top-right slide-in) ─── */
.gs-notif-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 360px;
}

.gs-notif {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    border-left: 4px solid #059669;
    opacity: 0;
    transform: translateX(100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.gs-notif--in {
    opacity: 1;
    transform: translateX(0);
}
.gs-notif--out {
    opacity: 0;
    transform: translateX(100%);
}
.gs-notif--error {
    border-left-color: #dc2626;
}
.gs-notif--error .gs-notif__icon {
    color: #dc2626;
}
.gs-notif__icon {
    font-size: 18px;
    color: #059669;
    flex-shrink: 0;
}
.gs-notif__text {
    font-size: 13.5px;
    font-weight: 500;
    color: #1e293b;
    flex: 1;
    line-height: 1.35;
}
.gs-notif__close {
    background: none;
    border: none;
    font-size: 18px;
    color: #94a3b8;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
    flex-shrink: 0;
}
.gs-notif__close:hover { color: #475569; }

@media (max-width: 480px) {
    .gs-notif-container {
        right: 12px;
        left: 12px;
        max-width: none;
    }
}

/* ============================================
   REDESIGNED HOMEPAGE STYLES
   ============================================ */

/* Quick Links Bar (replaces gs-catnav) */
.gs-quicklinks {
    background: #f8fafc;
    border-bottom: none;
    position: relative;
    z-index: 999;
}

.gs-quicklinks__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    gap: 12px;
}

.gs-quicklinks__left {
    display: flex;
    align-items: center;
    gap: 3px;
    overflow-x: auto;
    scrollbar-width: none;
    min-width: 0;
    flex: 1;
}

.gs-quicklinks__left::-webkit-scrollbar {
    display: none;
}

.gs-quicklinks__right {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}

.gs-quicklinks__dropdown {
    position: relative;
    flex-shrink: 0;
}

.gs-quicklinks__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: #0d9488;
    color: #ffffff;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s ease;
}

.gs-quicklinks__trigger:hover {
    background: #0f766e;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.2);
}

.gs-quicklinks__chevron {
    font-size: 10px;
    transition: transform 0.25s ease;
}

.gs-quicklinks__link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.gs-quicklinks__link:hover {
    background: #f0fdfa;
    color: #0d9488;
}

.gs-quicklinks__link i {
    font-size: 14px;
}

.gs-quicklinks__link--accent {
    color: #e11d48;
    font-weight: 600;
}

.gs-quicklinks__link--accent:hover {
    background: #fff1f2;
    color: #be123c;
}

/* Home Hero - Search Centric */
.gs-home-hero {
    padding: 32px 0;
}

.gs-home-hero .gs-container {
    background: linear-gradient(160deg, #f0fdf4 0%, #ecfdf5 30%, #f0fdfa 60%, #e0f2fe 100%);
    border-radius: 14px;
    padding: 44px 40px;
    border: none;
    box-shadow: 0 2px 12px rgba(13, 148, 136, 0.06);
}

.gs-home-hero__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 48px;
    align-items: center;
}

.gs-home-hero__title {
    font-size: 38px;
    font-weight: 800;
    color: #1a1a2e;
    line-height: 1.15;
    margin-bottom: 12px;
    letter-spacing: -0.04em;
}

.gs-home-hero__title span {
    color: #0d9488;
    position: relative;
}

.gs-home-hero__subtitle {
    font-size: 15px;
    color: #64748b;
    margin-bottom: 24px;
    line-height: 1.7;
}

.gs-home-hero__search-box {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 10px;
    padding: 5px 5px 5px 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1.5px solid #e2e8f0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gs-home-hero__search-box:focus-within {
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.08);
}

.gs-home-hero__search-box > i {
    color: #94a3b8;
    font-size: 18px;
    margin-right: 12px;
    flex-shrink: 0;
}

.gs-home-hero__search-box input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 16px;
    color: #1a1a2e;
    padding: 12px 0;
}

.gs-home-hero__search-box input::placeholder {
    color: #94a3b8;
}

.gs-home-hero__search-box input:focus {
    outline: none;
}

.gs-home-hero__search-box .gs-btn {
    flex-shrink: 0;
    padding: 12px 28px;
}

.gs-home-hero__tags {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.gs-home-hero__tags-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.gs-home-hero__tag {
    padding: 4px 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 13px;
    color: #475569;
    transition: all 0.2s ease;
}

.gs-home-hero__tag:hover {
    border-color: #0d9488;
    color: #0d9488;
    background: #f0fdfa;
}

.gs-home-hero__tag:hover {
    background: #0d9488;
    color: #ffffff;
    border-color: #0d9488;
}

.gs-home-hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gs-home-hero__banner {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.gs-home-hero__banner img {
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.gs-home-hero__banner-link {
    position: absolute;
    bottom: 16px;
    left: 16px;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #0d9488;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.25s ease;
}

.gs-home-hero__banner-link:hover {
    background: #ffffff;
    color: #0f766e;
}

.gs-home-hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100%;
}

.gs-home-hero__stat {
    background: #ffffff;
    border-radius: 10px;
    padding: 20px 16px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    border: none;
    transition: transform 0.2s ease;
}

.gs-home-hero__stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.gs-home-hero__stat i {
    font-size: 28px;
    color: #0d9488;
    margin-bottom: 8px;
}

.gs-home-hero__stat strong {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #1a1a2e;
}

.gs-home-hero__stat span {
    font-size: 13px;
    color: #64748b;
}

/* Health Solutions Grid */
.gs-solutions-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.gs-solution-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border: none;
    border-radius: 10px;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gs-solution-card:hover {
    box-shadow: 0 8px 24px rgba(13, 148, 136, 0.1);
    color: inherit;
    transform: translateY(-2px);
}

.gs-solution-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0fdfa;
    flex-shrink: 0;
}

.gs-solution-card__icon i {
    font-size: 22px;
    color: #0d9488;
}

.gs-solution-card__icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.gs-solution-card__body {
    flex: 1;
    min-width: 0;
}

.gs-solution-card__title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 2px;
}

.gs-solution-card__desc {
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.gs-solution-card__arrow {
    font-size: 12px;
    color: #d1d5db;
    transition: color 0.25s ease;
    flex-shrink: 0;
}

.gs-solution-card:hover .gs-solution-card__arrow {
    color: #0d9488;
}

/* Deals Layout - 2 featured + grid */
.gs-deals-layout {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 20px;
}

.gs-deals-layout__featured {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.gs-deals-layout__featured .gs-product-card {
    border: 2px solid #f0fdfa;
}

.gs-deals-layout__featured .gs-product-card:hover {
    border-color: #0d9488;
}

.gs-deals-layout__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* Link Grid - for salt compositions & manufacturers */
.gs-link-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.gs-link-grid--compact {
    grid-template-columns: repeat(5, 1fr);
}

.gs-link-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #ffffff;
    border: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    color: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.gs-link-card:hover {
    background: #f0fdfa;
    color: inherit;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.08);
}

.gs-link-card i {
    font-size: 16px;
    color: #0d9488;
    flex-shrink: 0;
}

.gs-link-card__name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gs-link-card__count {
    font-size: 12px;
    color: #94a3b8;
    flex-shrink: 0;
}

.gs-link-card--compact {
    padding: 12px 14px;
    gap: 10px;
}

.gs-link-card--compact .gs-link-card__name {
    font-size: 13px;
}

/* FAQ Section */
.gs-faq-list {
    max-width: 800px;
    margin-top: 24px;
}

.gs-faq-item {
    border: none;
    border-radius: 10px;
    margin-bottom: 8px;
    background: #f8fafc;
    overflow: hidden;
    transition: all 0.2s ease;
}

.gs-faq-item[open] {
    background: #f0fdfa;
    box-shadow: 0 2px 8px rgba(13, 148, 136, 0.06);
}

.gs-faq-item__question {
    padding: 16px 18px;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: background 0.2s ease;
}

.gs-faq-item__question::-webkit-details-marker {
    display: none;
}

.gs-faq-item__question::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 12px;
    color: #94a3b8;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.gs-faq-item[open] .gs-faq-item__question::after {
    transform: rotate(180deg);
    color: #0d9488;
}

.gs-faq-item__question:hover {
    background: #f9fafb;
}

.gs-faq-item__answer {
    padding: 0 20px 18px;
    font-size: 15px;
    color: #64748b;
    line-height: 1.7;
}

.gs-faq-item__answer a {
    color: #0d9488;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: #ccfbf1;
    text-underline-offset: 2px;
}

.gs-faq-item__answer a:hover {
    color: #0f766e;
    text-decoration-color: #0d9488;
}

/* SEO Links Section (text links) */
.gs-seo-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.gs-seo-links a {
    padding: 5px 12px;
    background: #f8fafc;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    color: #475569;
    transition: all 0.2s ease;
}

.gs-seo-links a:hover {
    color: #0d9488;
    background: #f0fdfa;
}

/* Footer SEO Links */
/* ===== SEO Footer Links ===== */
.gs-footer-seo {
    background: #f8fafc;
    padding: 36px 0;
    border-top: 1px solid #e2e8f0;
}

.gs-footer-seo__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.gs-footer-seo__section {
    margin-bottom: 0;
}

.gs-footer-seo__title {
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gs-footer-seo__title i {
    font-size: 13px;
    color: #0d9488;
}

.gs-footer-seo__links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gs-footer-seo__links a {
    padding: 3px 10px;
    background: transparent;
    border: none;
    border-radius: 4px;
    font-size: 12.5px;
    color: #6b7280;
    transition: all 0.2s ease;
}

.gs-footer-seo__links a:hover {
    background: #ecfdf5;
    color: #0d9488;
}

.gs-footer-seo__more {
    font-weight: 600;
    color: #0d9488 !important;
}

/* Promo card gradient updates */
.gs-promo-card--gradient-teal {
    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
    color: #ffffff;
}

.gs-promo-card--gradient-indigo {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    color: #ffffff;
}

.gs-promo-card--gradient-amber {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #ffffff;
}
