/*
 * grau.css — design layer on top of the Molla theme (style.min.css).
 * Loaded after style.min.css. Patterns follow PriceRunner / Skroutz:
 * soft image boxes, no borders, pill badges, bold price, muted meta.
 * Note: theme sets html font-size 62.5% → 1rem = 10px.
 */
:root {
    --g-ink: #1d1d27;
    --g-text: #4a4a57;
    --g-muted: #80808c;
    --g-surface: #f4f4f6;
    --g-line: #e6e6ea;
    --g-radius: 1.4rem;
    --g-radius-sm: .8rem;
    --g-off-bg: #ffe4e6;
    --g-off-fg: #c0262d;
    --g-ship-bg: #dcf5e7;
    --g-ship-fg: #13734a;
    --g-shadow: 0 .6rem 2rem rgba(20, 20, 40, .08);
}

/* ======================================================
   Product card (.pcard) — part_product_card.htm
   ====================================================== */
.pcard-col {
    margin-bottom: 2.4rem;
}

.pcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
}

.pcard-top {
    position: relative;
}

.pcard-media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: 1.6rem;
    background: var(--g-surface);
    border-radius: var(--g-radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.pcard-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply; /* white product photos blend into the grey box */
    transition: transform .3s ease;
}

.pcard:hover .pcard-media {
    box-shadow: var(--g-shadow);
}

.pcard:hover .pcard-media img {
    transform: scale(1.04);
}

/* badges sit on the image box */
.pcard-badge {
    position: absolute;
    left: 1rem;
    z-index: 2;
    padding: .3rem .9rem;
    border-radius: 99rem;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    pointer-events: none;
}

.pcard-badge-off {
    top: 1rem;
    background: var(--g-off-bg);
    color: var(--g-off-fg);
}

.pcard-badge-ship {
    bottom: 1rem;
    background: var(--g-ship-bg);
    color: var(--g-ship-fg);
}

.pcard-fav {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 50%;
    background: #fff;
    color: var(--g-ink);
    box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .08);
    transition: color .2s, transform .2s;
}

.pcard-fav:hover,
.pcard-fav:focus-visible {
    color: var(--g-off-fg);
    transform: scale(1.08);
}

.pcard-fav i {
    width: 1.6rem;
    height: 1.6rem;
}

.pcard-fav i.icon-heart {
    color: var(--g-off-fg);
}

.pcard-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 1.2rem .2rem 0;
}

.pcard-title {
    margin: 0 0 .6rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    /* two lines max, keeps the grid aligned */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.4em * 2);
}

.pcard-title a {
    color: var(--g-ink);
}

.pcard-title a:hover {
    color: var(--g-ink);
    text-decoration: underline;
}

.pcard-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: .8rem;
    margin-top: auto; /* prices line up across a row */
    line-height: 1.3;
}

.pcard-now {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--g-ink);
    white-space: nowrap;
}

.pcard-was {
    font-size: 1.3rem;
    color: var(--g-muted);
    white-space: nowrap;
}

.pcard-shop {
    margin-top: .3rem;
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--g-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* carousels: room for the hover shadow, equal heights */
.pcard-carousel .owl-stage-outer {
    padding: .4rem .4rem 1.2rem;
    margin: -.4rem -.4rem 0;
}

.pcard-carousel .owl-stage {
    display: flex;
}

.pcard-carousel .owl-item {
    display: flex;
}

.pcard-carousel .owl-item > .pcard {
    width: 100%;
}

@media (max-width: 575px) {
    .pcard-media {
        padding: 1rem;
        border-radius: 1.2rem;
    }
    .pcard-badge {
        left: .7rem;
        font-size: 1.1rem;
        padding: .2rem .7rem;
    }
    .pcard-badge-off {
        top: .7rem;
    }
    .pcard-badge-ship {
        bottom: .7rem;
    }
    .pcard-fav {
        top: .7rem;
        right: .7rem;
        width: 3rem;
        height: 3rem;
    }
    .pcard-title {
        font-size: 1.3rem;
    }
    .pcard-now {
        font-size: 1.5rem;
    }
}

/* ======================================================
   Base readability — theme default is 300 weight #666
   ====================================================== */
body {
    font-weight: 400;
    color: var(--g-text);
}

h1, h2, h3, h4 {
    color: var(--g-ink);
}

.g-muted {
    color: var(--g-muted);
}

/* ======================================================
   Shared bits: chips, pills, cards, section heads
   ====================================================== */
.g-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.g-chip {
    display: inline-flex;
    align-items: center;
    padding: .6rem 1.5rem;
    border: 1px solid var(--g-line);
    border-radius: 99rem;
    background: #fff;
    color: var(--g-ink);
    font-size: 1.35rem;
    line-height: 1.5;
    transition: border-color .2s, background-color .2s;
}

.g-chip:hover,
.g-chip:focus-visible {
    border-color: var(--g-ink);
    color: var(--g-ink);
}

.g-chip-hot {
    background: var(--g-off-bg);
    border-color: transparent;
    color: var(--g-off-fg);
    font-weight: 600;
}

.g-chip-hot:hover {
    border-color: var(--g-off-fg);
    color: var(--g-off-fg);
}

.g-pill {
    display: inline-block;
    padding: .3rem 1rem;
    border-radius: 99rem;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.5;
}

.g-pill-off {
    background: var(--g-off-bg);
    color: var(--g-off-fg);
}

.g-card {
    margin-top: 2.4rem;
    padding: 2rem 2.4rem;
    border: 1px solid var(--g-line);
    border-radius: var(--g-radius);
    background: #fff;
}

.g-card-title {
    margin: 0 0 1.2rem;
    font-size: 1.8rem;
    font-weight: 700;
}

.g-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.6rem;
    margin: 3.6rem 0 1.6rem;
}

.g-section-head h2 {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 700;
}

.g-section-head h2 a {
    color: var(--g-ink);
}

.g-see-all {
    flex-shrink: 0;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--g-ink);
    text-decoration: underline;
    text-underline-offset: .3rem;
}

.g-see-all:hover {
    color: var(--g-off-fg);
}

.g-page-title {
    margin: 2rem 0 1.6rem;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.25;
}

/* ======================================================
   Header (Molla .header-4 restyled)
   ====================================================== */
.header.header-4 {
    background: #fff;
}

.header-4 .header-middle {
    border-bottom: 0;
}

.header-4 .header-search-extended .header-search-wrapper {
    background: var(--g-surface) !important;
    border: 1px solid transparent !important;
    border-radius: 99rem !important;
    overflow: hidden;
    transition: background-color .2s, border-color .2s, box-shadow .2s;
}

.header-4 .header-search-extended .header-search-wrapper:focus-within {
    background: #fff !important;
    border-color: var(--g-ink) !important;
    box-shadow: var(--g-shadow);
}

.header-4 .header-search-extended .form-control {
    background: transparent !important;
    border: 0 !important;
    color: var(--g-ink);
    font-size: 1.5rem;
}

.header-4 .header-search-extended .form-control::placeholder {
    color: var(--g-muted);
}

.header-4 .header-search-extended .btn {
    background: transparent !important;
    border: 0 !important;
    color: var(--g-ink) !important;
}

.header-4 .header-right .wishlist a {
    color: var(--g-ink);
}

.header-4 .header-right .wishlist p {
    font-weight: 500;
}

.header-4 .wishlist-count {
    background: var(--g-off-fg) !important;
    color: #fff !important;
}

.header-4 .header-bottom {
    background: #fff;
    border-top: 1px solid var(--g-line);
    border-bottom: 1px solid var(--g-line);
}

/* category button: light pill. The theme forces dark text with
   `.header-4 ... .dropdown-toggle:not(:hover):not(:focus){color:#333!important}`,
   so the resting state stays light and only hover turns dark (theme sets white text there). */
.header-intro-clearance .header-bottom .header-left {
    align-self: center;
}

.header-4 .dropdown.category-dropdown {
    align-self: center;
    background: transparent;
}

.header-4 .dropdown.category-dropdown .dropdown-toggle {
    align-self: center;
    min-height: 4.4rem;
    padding: .8rem 4rem .8rem 4.6rem;
    border-radius: 99rem;
    background: var(--g-surface) !important;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.header-4 .dropdown.category-dropdown:not(.is-on):hover .dropdown-toggle,
.header-4 .dropdown.category-dropdown .dropdown-toggle:focus-visible {
    background: var(--g-ink) !important;
    color: #fff !important;
}

.header-4 .dropdown.category-dropdown.show .dropdown-toggle {
    background: var(--g-line) !important;
}

/* theme draws two fixed-position separator lines in the bottom bar; they no longer line up */
.header-intro-clearance .header-bottom .container::before,
.header-intro-clearance .header-bottom .container::after {
    display: none;
}

.header-4 .main-nav .menu > li > a {
    color: var(--g-ink);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.header-4 .main-nav .menu > li > a:hover {
    color: var(--g-off-fg);
}

.g-deals-link {
    display: inline-flex;
    align-items: center;
    padding: .6rem 1.6rem;
    border-radius: 99rem;
    background: var(--g-off-bg);
    color: var(--g-off-fg);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.5;
    white-space: nowrap;
}

.g-deals-link span {
    font-weight: 500;
    margin-left: .4rem;
}

.g-deals-link:hover {
    background: var(--g-off-fg);
    color: #fff;
}

/* trust strip under the header */
.g-trustbar {
    background: var(--g-surface);
    color: var(--g-text);
    font-size: 1.3rem;
}

.g-trustbar .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem 2.8rem;
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.g-trustbar span::before {
    content: '\2713';
    margin-right: .6rem;
    color: var(--g-ship-fg);
    font-weight: 700;
}

.g-trustbar b {
    color: var(--g-ink);
}

/* ======================================================
   Footer (.g-footer)
   ====================================================== */
.g-footer {
    margin-top: 6rem;
    padding: 5rem 0 2.4rem;
    background: var(--g-surface);
    border-radius: 2.4rem 2.4rem 0 0;
    color: var(--g-text);
    font-size: 1.4rem;
    line-height: 1.6;
}

.g-footer-logo img {
    height: auto;
    max-width: 16rem;
}

.g-footer-about {
    margin: 1.4rem 0;
    max-width: 36rem;
}

.g-footer-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 1.4rem;
}

.g-footer-stats span {
    padding: .4rem 1.2rem;
    border-radius: 99rem;
    background: #fff;
    font-size: 1.25rem;
}

.g-footer-stats b {
    color: var(--g-ink);
}

.g-footer-note {
    font-size: 1.25rem;
    color: var(--g-muted);
}

.g-footer-title {
    margin: 0 0 1.4rem;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.g-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.g-footer-links li {
    margin-bottom: .8rem;
}

.g-footer-links a {
    color: var(--g-text);
}

.g-footer-links a:hover {
    color: var(--g-ink);
    text-decoration: underline;
}

.g-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .8rem 2.4rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--g-line);
    font-size: 1.25rem;
    color: var(--g-muted);
}

.g-footer-bottom p {
    margin: 0;
}

.g-footer-bottom a {
    color: var(--g-text);
}

.g-footer-disclosure {
    max-width: 56rem;
}

/* ======================================================
   Product page (.g-product)
   ====================================================== */
.g-gallery .product-main-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36rem;
    padding: 2.4rem;
    background: var(--g-surface);
    border-radius: var(--g-radius);
    overflow: hidden;
}

.g-gallery .product-main-image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 46rem;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.g-gallery .btn-product-gallery {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #fff;
    color: var(--g-ink);
    box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .1);
}

.g-gallery .product-gallery-item img {
    border-radius: var(--g-radius-sm);
    background: var(--g-surface);
}

.g-pbrand {
    display: inline-block;
    margin-bottom: .6rem;
    color: var(--g-muted);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.g-pbrand:hover {
    color: var(--g-ink);
}

.g-pdetails .g-ptitle {
    margin-bottom: .8rem;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: var(--g-ink);
}

.g-prating {
    margin-bottom: 1.2rem;
}

.g-psummary {
    margin-bottom: 1.6rem;
    color: var(--g-text);
}

.g-offer {
    margin: 1.6rem 0;
    padding: 2rem 2.4rem;
    border: 1px solid var(--g-line);
    border-radius: var(--g-radius);
    background: #fff;
    box-shadow: var(--g-shadow);
}

.g-offer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
}

.g-offer-shop {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.g-offer-label {
    font-size: 1.2rem;
    color: var(--g-muted);
}

.g-offer-shopname {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--g-ink);
}

.g-stock {
    flex-shrink: 0;
    padding: .3rem 1rem;
    border-radius: 99rem;
    background: var(--g-surface);
    color: var(--g-muted);
    font-size: 1.25rem;
    font-weight: 600;
}

.g-stock-ok {
    background: var(--g-ship-bg);
    color: var(--g-ship-fg);
}

.g-offer .g-offer-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .4rem 1.2rem;
    margin: 0 0 1rem;
}

.g-price-now {
    font-size: 3.4rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--g-ink);
}

.g-price-now sup {
    font-size: .5em;
    top: -.85em;
}

.g-price-was {
    font-size: 1.6rem;
    color: var(--g-muted);
}

.g-offer-perks {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.6rem;
    margin: 0 0 1.6rem;
    padding: 0;
    list-style: none;
    font-size: 1.3rem;
    color: var(--g-muted);
}

.g-offer-perks .g-perk-ok {
    color: var(--g-ship-fg);
    font-weight: 600;
}

.g-offer-perks .g-perk-ok::before {
    content: '\2713  ';
}

.g-coupon {
    margin-bottom: 1.6rem;
    padding: 1.2rem 1.6rem;
    border: 1px dashed #d9a400;
    border-radius: var(--g-radius-sm);
    background: #fff8e1;
    font-size: 1.35rem;
}

.g-coupon-label {
    display: block;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #8a6a00;
}

.g-coupon-code {
    padding: .1rem .6rem;
    border-radius: .4rem;
    background: #fff;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}

.g-offer .product-details-action {
    margin: 0;
}

.g-cta.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    width: 100%;
    min-height: 5.4rem;
    padding: 1rem 2.4rem;
    border: 0;
    border-radius: 99rem;
    background: #e5322d;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    transition: background-color .2s, transform .1s;
}

.g-cta.btn:hover,
.g-cta.btn:focus-visible {
    background: #c4221e;
    color: #fff;
}

.g-cta.btn:active {
    transform: translateY(1px);
}

.g-offer-note {
    margin: 1rem 0 0;
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--g-muted);
    text-align: center;
}

.g-history .jqplot-target {
    color: var(--g-muted);
    font-size: 1.1rem;
}

/* tabs under the product */
.product-details-tab .nav.g-tabs {
    justify-content: flex-start;
    gap: 2.8rem;
    margin-top: 4rem;
    border-bottom: 1px solid var(--g-line);
}

.product-details-tab .g-tabs .nav-link {
    padding: 1.2rem 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: none !important;
    color: var(--g-muted);
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.product-details-tab .g-tabs .nav-link.active,
.product-details-tab .g-tabs .nav-link:hover {
    color: var(--g-ink);
    border-bottom-color: var(--g-ink);
}

/* ======================================================
   Home hero (.g-hero) + category chips
   ====================================================== */
.g-hero-wrap {
    margin-top: 2rem;
}

.g-hero {
    padding: 6rem 2rem;
    border-radius: 2.4rem;
    background: #15132b radial-gradient(ellipse at 80% 0%, rgba(229, 50, 45, .35), transparent 55%);
    color: rgba(255, 255, 255, .85);
    text-align: center;
}

.g-hero h1 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: 4.4rem;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

.g-hero p {
    margin: 0;
    font-size: 1.6rem;
}

.g-hero b {
    color: #fff;
}

.g-hero-search {
    display: flex;
    align-items: center;
    max-width: 60rem;
    margin: 2.8rem auto 0;
    padding: .5rem;
    border-radius: 99rem;
    background: #fff;
}

.g-hero-search input {
    flex: 1;
    min-width: 0;
    height: 4.6rem;
    padding: 0 2rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--g-ink);
    font-size: 1.6rem;
}

.g-hero-search button {
    flex-shrink: 0;
    width: 4.6rem;
    height: 4.6rem;
    border: 0;
    border-radius: 50%;
    background: var(--g-ink);
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.g-hero-search button:hover {
    background: #e5322d;
}

.g-catnav {
    justify-content: center;
    margin: 2rem 0 1rem;
}

@media (max-width: 767px) {
    .g-hero {
        padding: 4rem 1.6rem;
        border-radius: 1.8rem;
    }
    .g-hero h1 {
        font-size: 3rem;
    }
    .g-hero p {
        font-size: 1.4rem;
    }
    .g-pdetails .g-ptitle {
        font-size: 2.2rem;
    }
    .g-price-now {
        font-size: 2.8rem;
    }
    .g-offer {
        padding: 1.6rem;
    }
    .g-gallery .product-main-image {
        min-height: 28rem;
    }
    .g-section-head h2 {
        font-size: 1.9rem;
    }
    .g-footer {
        border-radius: 1.8rem 1.8rem 0 0;
    }
}

/* ======================================================
   Listing refine rows: subcategories + brands as chips
   ====================================================== */
.g-refine {
    margin-bottom: 1.6rem;
}

.g-refine-row {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--g-line);
}

.g-refine-row:last-child {
    border-bottom: 0;
}

.g-refine-label {
    flex: 0 0 11rem;
    padding-top: .7rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--g-ink);
}

.g-refine .g-chips {
    flex: 1;
    min-width: 0;
}

@media (max-width: 575px) {
    .g-refine-row {
        flex-direction: column;
        gap: .6rem;
    }
    .g-refine-label {
        flex-basis: auto;
        padding-top: 0;
    }
    /* one scrollable line of chips on phones */
    .g-refine .g-chips {
        flex-wrap: nowrap;
        width: 100%;
        overflow-x: auto;
        padding-bottom: .4rem;
        scrollbar-width: none;
    }
    .g-refine .g-chip {
        white-space: nowrap;
    }
}

/* results count + sort */
.toolbox {
    align-items: center;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--g-line);
}

.toolbox .toolbox-info {
    color: var(--g-muted);
}

.toolbox .toolbox-info span {
    color: var(--g-ink);
    font-weight: 600;
}

.toolbox .select-custom .form-control,
.toolbox-sort select {
    height: 4rem;
    border: 1px solid var(--g-line);
    border-radius: 99rem;
    background-color: #fff;
    color: var(--g-ink);
    padding-left: 1.6rem;
}

/* search page filter sidebar (template_cat) */
.sidebar-shop .widget {
    margin-bottom: 1.6rem;
    border-bottom: 1px solid var(--g-line);
}

.sidebar-shop .widget-clean {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 1.2rem;
}

.sidebar-shop .widget-clean label {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--g-ink);
}

.sidebar-shop .widget-clean a {
    font-size: 1.3rem;
    color: var(--g-off-fg);
}

.sidebar-shop .widget-title a {
    color: var(--g-ink);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.sidebar-shop .filter-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .2rem;
    padding: .5rem .8rem;
    border-radius: var(--g-radius-sm);
}

.sidebar-shop .filter-item:hover {
    background: var(--g-surface);
}

/* the checkboxes are decorative (each filter is a link), hide them */
.sidebar-shop .filter-item .form-check-input {
    display: none;
}

.sidebar-shop .filter-item .form-check {
    padding-left: 0;
    margin: 0;
    min-width: 0;
}

.sidebar-shop .filter-item .form-check-label a {
    color: var(--g-text);
    font-size: 1.4rem;
}

.sidebar-shop .filter-item:hover .form-check-label a {
    color: var(--g-ink);
}

.sidebar-shop .item-count {
    flex-shrink: 0;
    min-width: 2.6rem;
    padding: .1rem .7rem;
    border-radius: 99rem;
    background: var(--g-surface);
    color: var(--g-muted);
    font-size: 1.15rem;
    text-align: center;
}

/* ======================================================
   Price alert: button, modal, result pages
   ====================================================== */
.g-watch {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 1.4rem;
    padding: .7rem 1.6rem;
    border: 1px solid var(--g-line);
    border-radius: 99rem;
    background: #fff;
    color: var(--g-ink);
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .2s, background-color .2s;
}

.g-watch:hover,
.g-watch:focus-visible {
    border-color: var(--g-ink);
    background: var(--g-surface);
}

.g-modal {
    position: relative;
    padding: 3.2rem;
    border: 0;
    border-radius: 2rem;
}

.g-modal-close {
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
}

.g-modal-title {
    margin: 0 3rem 1.6rem 0;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.25;
}

.g-modal-prod {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 2rem;
    padding: 1rem;
    border-radius: var(--g-radius-sm);
    background: var(--g-surface);
}

.g-modal-prod img {
    flex-shrink: 0;
    width: 6.4rem;
    height: 6.4rem;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.g-modal-prod-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--g-ink);
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.35;
}

.g-modal-prod-price {
    margin-top: .2rem;
    font-size: 1.3rem;
    color: var(--g-muted);
}

.g-modal-prod-price b {
    color: var(--g-ink);
}

.g-label {
    display: block;
    margin-bottom: .6rem;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--g-ink);
}

.g-input {
    width: 100%;
    height: 4.8rem;
    margin-bottom: 1.4rem;
    padding: 0 1.6rem;
    border: 1px solid var(--g-line);
    border-radius: 1.2rem;
    background: #fff;
    color: var(--g-ink);
    font-size: 1.6rem;
}

.g-input:focus {
    border-color: var(--g-ink);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(29, 29, 39, .08);
}

.g-check {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.6rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: var(--g-text);
    cursor: pointer;
}

.g-check input {
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
    margin-top: .1rem;
    accent-color: var(--g-ink);
}

.g-check a {
    color: var(--g-ink);
    text-decoration: underline;
}

.g-form-error {
    margin: -.4rem 0 1.4rem;
    padding: .8rem 1.2rem;
    border-radius: var(--g-radius-sm);
    background: var(--g-off-bg);
    color: var(--g-off-fg);
    font-size: 1.3rem;
}

.g-modal-note {
    margin: 1.2rem 0 0;
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--g-muted);
    text-align: center;
}

/* honeypot field for bots */
.g-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.g-alert-page {
    max-width: 64rem;
    margin: 4rem auto;
    text-align: center;
}

.g-alert-page h1 {
    font-size: 2.8rem;
    font-weight: 800;
}

.g-alert-page p {
    font-size: 1.6rem;
}

.g-alert-page .g-cta {
    display: inline-flex;
    width: auto;
    margin-top: 1rem;
}

/* ======================================================
   Legal pages (/info/termeni-si-conditii, /info/date-personale)
   ====================================================== */
.g-legal {
    max-width: 76rem;
    margin: 2rem auto 4rem;
    color: var(--g-text);
    font-size: 1.55rem;
    line-height: 1.7;
}

.g-legal h1 {
    margin-bottom: .6rem;
    font-size: 3rem;
    font-weight: 800;
}

.g-legal h2 {
    margin: 3.2rem 0 1rem;
    font-size: 2rem;
    font-weight: 700;
}

.g-legal .g-legal-meta {
    color: var(--g-muted);
    font-size: 1.3rem;
}

.g-legal ul {
    padding-left: 2rem;
}

.g-legal li {
    margin-bottom: .6rem;
}

.g-legal a {
    color: var(--g-ink);
    text-decoration: underline;
}

/* ======================================================
   Contact page (contact.htm)
   ====================================================== */
.g-contact .g-card {
    margin-top: 0;
    height: 100%;
}

.g-contact-info p {
    font-size: 1.45rem;
    line-height: 1.6;
}

.g-textarea {
    height: auto;
    min-height: 16rem;
    padding: 1.2rem 1.6rem;
    resize: vertical;
}

select.g-input {
    appearance: auto;
}

.g-contact .g-cta.btn {
    width: auto;
    display: inline-flex;
    padding-left: 3.2rem;
    padding-right: 3.2rem;
}

.g-legal .g-todo {
    padding: .1rem .5rem;
    border-radius: .4rem;
    background: #fff3c4;
    color: #6b5200;
    font-weight: 600;
}
