/* Shared promo banner slider (common/promo-slider.php), shown above the footer. */
.pbs{padding:clamp(44px,5vw,72px) 0 clamp(40px,4.5vw,64px);background:#fff}
.pbs-frame{position:relative;width:88%;max-width:1080px;margin-inline:auto;container-type:inline-size}
.pbs-track{display:flex;overflow:hidden;background:#f6ece2;touch-action:pan-y;user-select:none}
.pbs-track>*{transition:transform .6s cubic-bezier(.65,0,.35,1)}
.pbs-slide{position:relative;flex:0 0 100%;min-width:0}
.pbs-slide img{width:100%;height:auto;aspect-ratio:2276/515;object-fit:cover;-webkit-user-drag:none}

/* Wide screens: the image already shows the copy, so the text stays for screen readers
   and the link covers the whole banner. */
.pbs-copy h2,.pbs-copy p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pbs-link{position:absolute;inset:0;font-size:0;color:transparent!important}
.pbs-link .pb-icon{display:none}
.pbs-link:focus-visible{outline-offset:-4px!important}

/* Arrows */
.pbs-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0!important;border:1px solid #e0e5e7;border-radius:50%!important;background:#fff;color:#00565c;box-shadow:0 10px 24px -14px #003d4380;transform:translateY(-50%);transition:background .2s,color .2s,border-color .2s}
.pbs-arrow:hover{background:#00565c;border-color:#00565c;color:#fff}
.pbs-arrow .pb-icon{width:22px;height:22px}
.pbs-prev{left:-66px}
.pbs-prev .pb-icon{transform:rotate(180deg)}
.pbs-next{right:-66px}

/* Dots */
.pbs-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.pbs-dots button{width:10px;height:10px;padding:0!important;border:0;border-radius:999px!important;background:#c9d3d6;transition:width .3s,background .3s}
.pbs-dots button:hover{background:#8ea3a8}
.pbs-dots button[aria-current="true"]{width:30px;background:#ff604b}

@media(max-width:1260px){
.pbs-prev{left:16px}
.pbs-next{right:16px}
.pbs-arrow{width:42px;height:42px;background:#ffffffe6}
}

/* Phones: crop to the photo side and show the copy as real text underneath. */
@media(max-width:700px){
.pbs-frame{width:auto;margin-inline:16px}
.pbs-track{align-items:stretch}
.pbs-slide{display:flex;flex-direction:column}
.pbs-slide img{aspect-ratio:2/1;object-position:right center}
.pbs-copy{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:22px 20px 24px}
.pbs-copy h2,.pbs-copy p{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
.pbs-copy h2{font-size:23px;font-weight:800;line-height:1.2;color:#003d43}
.pbs-copy p{margin:10px 0 18px!important;font-size:15px;line-height:1.55;color:#33474d}
.pbs-link{position:static;display:inline-flex;align-items:center;gap:10px;margin-top:auto;min-height:46px;padding:0 22px;border-radius:999px;background:#ff604b;font-size:15px;font-weight:700;color:#fff!important}
.pbs-link .pb-icon{display:block;width:20px;height:20px}
.pbs-link:focus-visible{outline-offset:3px!important}
.pbs-arrow{top:25cqw;width:38px;height:38px}
.pbs-prev{left:10px}
.pbs-next{right:10px}
.pbs-arrow .pb-icon{width:19px;height:19px}
.pbs-dots{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
.pbs-track>*{transition:none}
}
