div.service-card.premium, div.card.coupon.premium {
    border: 1px solid #dfdfdf;
    transition: 0.4s;
}

div.service-card.premium.active-item {
    border: 2px solid var(--c-brand);
}

.service-card:hover {
    filter: drop-shadow(1px 2px 6px #adb5bd);
    transition: all 0.4s ease-in-out;
}

.service-card .similar {
    border-top: 2px solid #f0f0f0;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 0.5rem 0.75rem 0 0.75rem;
    text-overflow: ellipsis;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.service-card .tags {
    text-overflow: ellipsis;
    height: 56px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    color: #999;
}

h2 strong {
    font-weight: 700;
}

h1 {
    font-weight: 700;
}

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
}

@media (min-width: 576px){
    .container {
        max-width: 715px;
    }
}
@media (min-width: 768px){
    .container {
        max-width: 1040px;
    }
}
@media (min-width: 1200px) {
    .col-lg-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .container {
        max-width: 1280px;
    }
}

.service-card .description {
    color: #666;
    text-overflow: ellipsis;
    height: 56px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.img-full {
    width: 100%;
    height: 100%;
}

/* Pagination: WCAG-AA kontraszt (a disabled/aktuális elem #999 = 2.84:1 volt) + link-affordancia.
   !important, mert a style_2023_04_26.css .page-item.disabled/.active .page-link szabályai (#999) erősebbek. */
.pagination .page-link { color: #595959 !important; }
.pagination a.page-link { color: var(--c-pager) !important; }
.pagination a.page-link:hover, .pagination a.page-link:focus { color: var(--c-pager-hover) !important; }
.pagination .page-item.active .page-link { background-color: var(--c-pager) !important; border-color: var(--c-pager) !important; color: #fff !important; }

.service-card-name a {
    color: #333;
}

.wrapper .price b {
    font-size: 1.2rem;
    color: var(--c-alert);
    font-weight: 800;
}

.wrapper .products p {
    color:var(--c-accent);
    font-size: 1rem;
}

#ui-id-1 {
    z-index: 1000;
}

.page-contact-row .page-contact-label {
    font-weight: 600;
}

h1.product-title {
    color:#333;
    font-weight: 300;
    font-size: calc(1.2rem + 1.2vw);
}

.input-group .input-group-addon [type="submit"], .input-group .input-group-addon button {
    border: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-search {
    padding: 0 28px;
    line-height: 48px;
    background: var(--c-surface);
    color: var(--c-brand);
    font-weight: 700;
}

.btn-search:hover, .input-group-addon .btn-search:active {
    color: var(--c-on-brand);
    background-color: var(--c-brand-2);
    border-color: var(--c-brand-2);
}
/*coupon*/
.coupon .side .label {
    background-color: var(--c-accent) ;
    display: block;
    border-radius: 10px;
    text-align: center;
    color: var(--c-on-brand);
    font-weight: 500;
}
.coupon .side-panel {
    text-align: center;
}
.coupon .shop {
    font-weight: 600;
}
.coupon .title {
    font-size: 1rem;
    line-height: 1.2;
    margin-bottom: 0;
    text-overflow: ellipsis;
    height: 52px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.coupon .expiration, .coupon .count {
    font-weight: 700;
}
.coupon .expiration span, .coupon .count span {
    vertical-align: middle;
}
.coupon .coupon-description {
    font-size: 1.0rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.coupon.card{
    filter: drop-shadow(1px 1px 1px #adb5bd);
}
.coupon.card:hover{
    filter: drop-shadow(1px 2px 6px #adb5bd);
    transition: all 0.4s ease-in-out;
}
@media (min-width: 768px){
    .coupon .dashed {
        border-left: 2px dashed lightgrey;
    }
}
@media (max-width: 767px){
    .coupon .dashed {
        border-top: 2px dashed lightgrey;
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
    .coupon .btn_4 {
        margin-top: 1.0rem !important;
    }
    .d-sm-none {
        display: none;
    }
    .coupon .title {
        height: 76px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }
}
.coupon #copy_button.copied {
    background-color: darkgreen;
    color: white;
}
.coupon #coupon_code.form-control.copied {
    border: 2px solid darkgreen;
}

dt {
    float: left;
    clear: left;
    text-transform: uppercase;
}
dd {
    float: right;
}
.product-details .price {
    font-size: 1.25rem;
    color: var(--c-brand);
    font-weight: 800;
}
.price h4 {
    color: var(--c-brand);
}
.product-details .card {
    background-color: white;
    border: 2px solid var(--c-brand);
}
.product-details .description-list {
    /*font-size: 1.0rem;*/
    font-weight: bold;
}
@media (min-width: 768px){
    .product-landing-image {
        max-height: 350px; max-width: 350px;
    }
}
@media (max-width: 767px){
    .product-landing-image {
        max-height: 290px; max-width: 290px;
    }
}
#product_description_toggle{
    text-align: center;
    cursor: pointer;
    color: var(--c-alert);;
}

/* A11y — axe "link-in-text-block" (WCAG 1.4.1): a termékoldal folyószövegébe ágyazott
   linkek ne csak szín alapján legyenek megkülönböztethetők → aláhúzás.
   Szűken a .product-landing article-re szkópolva, a kártyalinkek (.service-card)
   és a gombok (a.btn_4) nem kapnak aláhúzást. */
.product-landing p a,
.product-landing #product_description a {
    text-decoration: underline;
}
.category-short-description p {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .hide-on-mobile {
        display: none!important;
    }
}

/* ---- Termékoldal: "Elérhető itt" ajánlat-panel (1 vagy több ajánlat, azonos elrendezés) ---- */
.product-details .card.offer-panel { padding: 14px 18px 6px; }
.offer-panel__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 6px; color: var(--c-brand); }
.offer-row { display: grid; grid-template-columns: minmax(110px, 1fr) auto auto; gap: 8px 16px; align-items: center; padding: 12px 0; border-top: 1px solid #e3e3e3; }
.offer-row:first-of-type { border-top: 0; }
.offer-row__shop { font-weight: 600; font-size: 1rem; color: #333; }
.offer-row__badge { display: inline-block; margin-left: 6px; padding: 1px 7px; font-size: 0.7rem; font-weight: 700; color: #fff; background: var(--c-accent); border-radius: 3px; vertical-align: middle; text-transform: uppercase; letter-spacing: .02em; }
.offer-row__price { text-align: right; line-height: 1.25; }
.offer-row__price b { font-size: 1.25rem; color: var(--c-brand); white-space: nowrap; }
.offer-row__price s { display: block; color: #8a8a8a; font-size: 0.85rem; }
.offer-row__price small { display: block; font-size: 0.8rem; }
.offer-row__ship { color: #555; }
.offer-row__ship--free { color: var(--c-info); font-weight: 600; }
.offer-row__stock { display: block; color: var(--c-accent); font-weight: 600; }
.offer-row__cta .btn_4 { white-space: nowrap; }
.offer-row--best .offer-row__price b { color: var(--c-accent); }
.offer-row--unavailable { grid-template-columns: 1fr; }
.offer-row--unavailable .offer-row__shop { color: var(--c-accent); }
.offer-row__info { font-size: 0.95rem; color: #444; }
@media (max-width: 575.98px) {
  .offer-row { grid-template-columns: 1fr auto; }
  .offer-row__cta { grid-column: 1 / -1; }
  .offer-row__cta .btn_4 { display: block; text-align: center; }
}


/* ---- Lista-kártyák (termék + kategória): rögzített sávok, azonos magasság egy sorban ---- */
.pcard { display: flex; flex-direction: column; height: calc(100% - 30px); }
.pcard__inner { display: flex; flex-direction: column; flex: 1 1 auto; }
.pcard__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 10px 12px 12px; }
.pcard__title { height: 3.6em; line-height: 1.2; font-size: 0.95rem; margin: 0 0 6px; -webkit-line-clamp: 3; }
.pcard__meta { height: 1.4em; font-size: 0.75rem; text-transform: uppercase; letter-spacing: .02em; color: #595959; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcard__offers { color: var(--c-accent); font-weight: 700; }
.pcard__price { min-height: 2.2em; margin: 4px 0 8px; line-height: 1.2; }
.pcard__price b { font-size: 1.25rem; color: var(--c-accent); white-space: nowrap; }
.pcard__price s { display: block; font-size: 0.8rem; color: #8a8a8a; }
.pcard__actions { margin-top: auto; text-align: center; }
.pcard__actions .btn_4 { display: block; width: 100%; text-align: center; }
.pcard__more { display: block; margin-top: 8px; font-size: 0.8rem; font-weight: 600; color: var(--c-brand); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcard__more:hover { color: var(--c-accent); text-decoration: none; }
.pcard--category .pcard__price b { color: var(--c-brand); }
@media (max-width: 767px) {
  .pcard__title { font-size: 0.85rem; height: 3.6em; }
  .pcard__price b { font-size: 1.1rem; }
}


/* ---- Termékoldal: ár-összefoglaló és adatlap ---- */
.product-summary { font-size: 1rem; color: #333; margin: 4px 0 10px; }
.product-summary small { display: block; color: #595959; font-size: 0.8rem; margin-top: 2px; }
.product-specs { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0; font-size: 0.95rem; }
.product-specs dt { font-weight: 700; color: var(--c-brand); }
.product-specs dd { margin: 0; color: #333; }
.product-landing-image { aspect-ratio: 1 / 1; object-fit: contain; height: auto; }


/* ---- Kategórialista: alkategória-sáv a lista fölött (a lista kártyáinak színeivel, árnyékával) ---- */
.subcat-nav__label { margin: 0 0 8px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #595959; }
.subcat-nav__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.subcat__link { display: flex; align-items: center; gap: 10px; height: 100%; padding: 6px 12px 6px 6px; background: #f2f2f2; box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1); border: 1px solid transparent; transition: border-color .15s, box-shadow .15s; }
.subcat__link:hover, .subcat__link:focus-visible { border-color: var(--c-accent); box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15); text-decoration: none; }
.subcat__thumb { flex: 0 0 56px; width: 56px; height: 56px; background: #fff; }
.subcat__thumb img { display: block; width: 56px; height: 56px; object-fit: contain; }
.subcat__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.subcat__name { font-size: 0.9rem; font-weight: 700; color: var(--c-brand); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.subcat__link:hover .subcat__name { color: var(--c-accent); }
.subcat__count { margin-top: 2px; font-size: 0.75rem; color: #595959; }
.subcat-nav__more { display: none; margin: 10px auto 0; padding: 6px 14px; font-size: 0.85rem; font-weight: 600; color: var(--c-brand); background: #fff; border: 1px solid var(--c-brand); border-radius: 3px; }
.subcat-nav__more:hover { color: #fff; background: var(--c-brand); }
@media (max-width: 767px) {
  .subcat-nav__list { grid-template-columns: 1fr 1fr; gap: 8px; }
  .subcat__link { gap: 8px; padding: 4px 8px 4px 4px; }
  .subcat__thumb, .subcat__thumb img { flex-basis: 44px; width: 44px; height: 44px; }
  .subcat__name { font-size: 0.8rem; }
  .subcat--extra { display: none; }
  .subcat-nav--open .subcat--extra { display: block; }
  .subcat-nav__more { display: block; }
}

/* Termékoldal: a „Hasonló termékek” alatti link a kategóriára */
.similar-more { margin: 0 0 8px; text-align: center; font-weight: 600; }
.similar-more a { color: var(--c-brand); }
.similar-more a:hover { color: var(--c-accent); text-decoration: none; }

/* Morzsamenü: teljes útvonal; ha tördel, olvasható sorköz; az utolsó elem (hosszú terméknév) egy sorra vágva */
#breadcrumb { line-height: 1.5; }
#breadcrumb ul li { white-space: nowrap; }
/* a nyíl a sor közepén (az eredeti a sor tetejétől mér, nagyobb sorköznél fölcsúszna) */
#breadcrumb ul li:after { top: 50%; margin-top: 0; transform: translateY(-50%); }
#breadcrumb ul li:last-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
@media (max-width: 767px) {
  #breadcrumb ul { font-size: 0.9rem; }
  /* hosszú köztes kategórianév mobilon tördel (különben vízszintes görgetés) */
  #breadcrumb ul li:not(:last-child) { white-space: normal; }
}
