/* Homepage-only additions. Existing banners, layout and header styles are untouched. */
.ava-home .ava-service-link { text-underline-offset: 4px; }
.ava-home .ava-service-link:hover { text-decoration: underline !important; }
.ava-home .ava-primary-category-title,
.ava-home .ava-all-cat-info strong { overflow-wrap: anywhere; }
.ava-home .ava-invt-content > .ava-service-link { align-self: flex-start; }
.ava-home :is(a,button,summary):focus-visible { outline: 3px solid #087763; outline-offset: 4px; }
@media (max-width:780px) {
    .ava-home .ava-overlay-arrow { width: 44px; height: 44px; }
    .ava-home .ava-cat-carousel { padding-inline: 50px; }
}

.ava-home #ava-selected-products { --avp-green: #148b74; --avp-ink: #193036; position: relative; }
.ava-home #ava-selected-products[hidden],
.ava-home #ava-selected-products [hidden] { display: none !important; }
.ava-home .avp-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.ava-home .avp-heading h2 { margin: 0; color: var(--avp-ink); font-size: clamp(23px,2vw,29px); font-weight: 900; line-height: 1.7; }
.ava-home .avp-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ava-home .avp-controls button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #cce4dc; border-radius: 10px; background: #fff; color: #087763; font: inherit; cursor: pointer; padding: 8px; }
.ava-home .avp-controls button:hover { background: #e7f8f4; border-color: #148b74; }
.ava-home .avp-controls button:disabled { cursor: default; opacity: .6; }
.ava-home .avp-controls button[data-avp-pause] { font-size: 12px; padding-inline: 12px; }
.ava-home .avp-controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ava-home .avp-counter { color: #52696f; font-size: 12px; white-space: nowrap; }
.ava-home .avp-viewport { min-height: 440px; border-radius: 14px; touch-action: pan-y pinch-zoom; }
.ava-home .avp-viewport[aria-busy="true"] { cursor: progress; }
.ava-home .avp-slide { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; direction: rtl; }
.ava-home .avp-card { position: relative; height: 440px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dfe8e4; border-radius: 17px; transition: border-color .2s ease,box-shadow .2s ease; }
.ava-home .avp-card:hover { border-color: #8cc9b7; box-shadow: 0 8px 22px rgba(30,63,53,.07); }
.ava-home .avp-image-link { display: flex; align-items: center; justify-content: center; position: relative; height: 172px; flex-shrink: 0; padding: 14px; border-bottom: 1px solid #edf1ef; text-decoration: none !important; color: #6a807c !important; }
.ava-home .avp-image-link img { position: relative; display: block; width: 100% !important; height: 100% !important; object-fit: contain !important; background: #fff; }
.ava-home .avp-image-placeholder { position: absolute; font-weight: 800; font-size: 16px; }
.ava-home .avp-card-body { display: flex; flex: 1; flex-direction: column; gap: 8px; min-width: 0; padding: 15px; }
.ava-home .avp-title { margin: 0; height: 76px; min-height: 76px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 14px; line-height: 1.8; font-weight: 800; overflow-wrap: anywhere; }
.ava-home .avp-title a { color: var(--avp-ink) !important; text-decoration: none !important; }
.ava-home .avp-title a:hover { color: #087763 !important; }
.ava-home .avp-sku { display: block; font-size: 11px; color: #52696f; overflow-wrap: anywhere; text-align: right; }
.ava-home .avp-price { margin: 0; padding: 9px 6px; min-height: 43px; border-radius: 9px; background: #eef8f4; color: #096650; font-size: 13px; font-weight: 800; line-height: 1.8; text-align: center; overflow-wrap: anywhere; }
.ava-home .avp-details { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border-radius: 9px; background: #148b74; color: #fff !important; text-decoration: none !important; font-size: 12px; font-weight: 800; }
.ava-home .avp-details:hover { background: #096e5b; }
.ava-home .avp-live { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width:980px) {
    /* Keep five products in each logical slide; wrap them into readable rows. */
    .ava-home .avp-slide { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ava-home .avp-viewport { min-height: 894px; }
}
@media (max-width:620px) {
    .ava-home .avp-slide { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .ava-home .avp-heading { align-items: flex-start; }
    .ava-home .avp-controls { width: 100%; }
    .ava-home .avp-counter { margin-inline-end: auto; }
    .ava-home .avp-card { height: 390px; }
    .ava-home .avp-image-link { height: 120px; padding: 10px; }
    .ava-home .avp-card-body { padding: 11px; }
    .ava-home .avp-title { min-height: 80px; font-size: 13px; }
    .ava-home .avp-price { font-size: 12px; }
    .ava-home .avp-viewport { min-height: 1190px; }
}
@media (prefers-reduced-motion:reduce) {
    .ava-home .avp-card { transition: none; }
}

/* Discount values come from the product page. Space remains stable across cards. */
.ava-home .avp-discount { position: absolute; top: 10px; inset-inline-start: 10px; z-index: 2; max-width: calc(100% - 20px); padding: 5px 9px; border-radius: 9px; background: #b7312d; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.6; pointer-events: none; }
.ava-home .avp-prices { margin-top: auto; min-height: 67px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
.ava-home .avp-price-original { display: block; color: #65716e; font-size: 12px; line-height: 1.8; text-align: center; text-decoration: line-through; overflow-wrap: anywhere; }
