.zare-hero { position: relative; width: 100%; margin: 0; padding: 0; }
.zare-hero__track {
    display: flex;
    width: 100%;
    gap: 8px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    direction: rtl;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}
.zare-hero__track::-webkit-scrollbar { display: none; }
.zare-hero__slide {
    position: relative;
    display: flex;
    flex: 0 0 100%;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    height: var(--home-hero-height, 360px);
    min-height: 200px;
    container-type: size;
    scroll-snap-align: center;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(115deg, #171717, #303834);
    --art-color: #00BF6F;
    --ring-color: #D96C3F;
}
.zare-hero__content {
    position: relative;
    z-index: 1;
    width: min(100%, 1320px);
    margin-inline: auto;
    padding: 20px clamp(32px, 7vw, 130px) 52px;
    text-align: right;
}
.zare-hero__content h1,
.zare-hero__content h2 {
    max-width: 65%;
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(26px, 3.1vw, 48px);
    line-height: 1.5;
    font-weight: 700;
}
.zare-hero__content p {
    max-width: 65%;
    margin: 0 0 18px;
    color: inherit;
    font-size: clamp(14px, 1.35vw, 19px);
    line-height: 1.9;
    opacity: .85;
}
.zare-hero .zare-hero__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 44px;
    padding: 8px 22px;
    border-radius: 7px;
    background: #00BF6F;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.zare-hero__link:hover { filter: brightness(.93); }
.zare-hero__art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.zare-hero__art span {
    position: absolute;
    width: clamp(260px, 34vw, 590px);
    aspect-ratio: 1;
    left: -3%;
    top: -40%;
    border-radius: 50%;
    background: var(--art-color);
}
.zare-hero__art i {
    position: absolute;
    width: clamp(60px, 7vw, 110px);
    aspect-ratio: 1;
    left: 27%;
    bottom: 13%;
    border: clamp(10px, 1.2vw, 18px) solid var(--ring-color);
    border-radius: 50%;
}
.zare-hero__slide--warm {
    background: #F0E5D5;
    color: #3D322B;
    --art-color: #C98A60;
    --ring-color: #AF744D;
}
.zare-hero__slide--warm .zare-hero__link { background: #5D4637; }
.zare-hero__slide--green {
    background: #E4F0EA;
    color: #163E33;
    --art-color: #3E7865;
    --ring-color: #95BBA6;
}
.zare-hero__slide--green .zare-hero__link { background: #14604A; }
.zare-hero__controls {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}
.zare-hero__controls[hidden] { display: none; }
.zare-hero__controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    color: #252525;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
}
.zare-hero__arrows {
    display: flex;
    position: absolute;
    right: 24px;
    left: auto;
    direction: rtl;
    gap: 4px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease;
}
.zare-hero__arrows button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 1px solid #e0e0e2;
    border-radius: 50%;
    background: #fff;
    color: #424750;
}
.zare-hero__arrows svg { width: 24px; height: 24px; }
/* Mouse hover only: retained click focus does not keep the arrows visible. */
@media (hover: hover) and (pointer: fine) {
    .zare-hero:hover .zare-hero__arrows { opacity: 1; visibility: visible; }
}
.zare-hero__dots { display: flex; gap: 0; align-items: center; padding: 0 5px; border-radius: 20px; background: rgb(255 255 255 / 85%); }
.zare-hero__dots button { width: 30px; min-width: 30px; height: 28px; background: transparent; border: 0; }
.zare-hero__dots button::after { content: ''; width: 7px; height: 7px; background: #959595; border-radius: 10px; transition: width 160ms; }
.zare-hero__dots button[aria-current="true"]::after { width: 20px; background: #252525; }
.zare-hero a:focus-visible,
.zare-hero button:focus-visible { outline: 3px solid #C38A33; outline-offset: 3px; }
.zare-hero__track:focus-visible { outline: 2px solid #14604A; outline-offset: -2px; }
@media (max-width: 768px) {
    .zare-hero { padding-top: 6px; }
    .zare-hero__track { gap: 10px; padding-inline: 20px; scroll-padding-inline: 20px; }
    .zare-hero__slide { flex-basis: 100%; min-height: 210px; border-radius: 10px; }
    .zare-hero__content { padding: 16px 20px 46px; }
    .zare-hero__content h1,
    .zare-hero__content h2 { max-width: 84%; font-size: clamp(22px, 5.3vw, 32px); margin-bottom: 6px; }
    .zare-hero__content p { max-width: 78%; font-size: 12px; margin-bottom: 12px; line-height: 1.8; }
    .zare-hero .zare-hero__link { padding: 7px 14px; font-size: 12px; min-height: 40px; }
    .zare-hero__art span { width: 170px; top: -80px; left: -90px; }
    .zare-hero__art i { width: 48px; border-width: 8px; left: 12px; bottom: 52px; opacity: .7; }
    .zare-hero__arrows { display: none; }
    .zare-hero__controls { bottom: 9px; }
}
/* Keep content readable when a short viewport reduces the banner. */
@media (min-width: 769px) and (max-height: 620px) {
    .zare-hero__content h1, .zare-hero__content h2 { font-size: 28px; margin-bottom: 4px; }
    .zare-hero__content p { font-size: 14px; margin-bottom: 10px; }
}
@media (max-width: 768px) and (max-height: 500px) {
    .zare-hero__content h1, .zare-hero__content h2 { font-size: 21px; }
    .zare-hero__content p { margin-bottom: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .zare-hero__dots button::after, .zare-hero__arrows { transition: none; }
}

@container (max-height: 240px) {
    .zare-hero__content { padding-block: 12px 46px; }
    .zare-hero__content h1, .zare-hero__content h2 { font-size: 25px; line-height: 1.4; margin-bottom: 5px; }
    .zare-hero__content p { font-size: 13px; line-height: 1.7; margin-bottom: 9px; }
    .zare-hero .zare-hero__link { min-height: 40px; padding-block: 6px; }
}
@media (max-width: 400px) {
    .zare-hero__content h1, .zare-hero__content h2 { max-width: 100%; font-size: 21px; }
    .zare-hero__content p { max-width: 100%; font-size: 12px; }
}
