/* Select Photo Services: logo and blue sourced from the existing SPS website. */
:root{--sps-blue:#2abdfa;--sps-ink:#142633;--sps-link:#006b96;--sps-line:#dce6ec;font-family:Arial,Helvetica,sans-serif;color:var(--sps-ink);background:#f6f9fb;font-size:16px}
body{line-height:1.6}
header{background:var(--sps-blue);color:var(--sps-ink);padding:22px max(4%,calc((100vw - 1370px)/2));gap:24px;border-bottom:1px solid #21afea}
.brand.brand-link{display:flex;align-items:center;gap:22px;color:var(--sps-ink);text-decoration:none;font-size:20px;font-weight:700;letter-spacing:0;line-height:1.25;min-width:0}
.brand img{width:132px;height:auto;display:block;flex-shrink:0}
.brand .brand-name{font-size:20px;font-weight:700;margin:0;letter-spacing:0}
.brand .brand-name small{display:block;margin-top:5px;color:#17394b;font-size:11px;letter-spacing:2.5px;font-weight:600;text-transform:uppercase}
.header-link,.basket-link{color:var(--sps-ink);font-size:14px;font-weight:700;text-decoration:none;padding:11px 18px;border:1px solid #1685b4;border-radius:7px;background:#ffffff38;white-space:nowrap;min-height:44px}
.header-link:hover,.basket-link:hover{background:#fff;color:var(--sps-ink)}
main{max-width:1370px;padding:38px 4% 60px}
.basket-page{max-width:1250px}
a{color:var(--sps-link);text-underline-offset:3px}
a:hover{color:#004766}
:is(a,button,input,summary):focus-visible{outline:3px solid #00648c;outline-offset:4px}
.intro{margin:20px 0 28px}
.intro h1,h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-1px;line-height:1.18;color:var(--sps-ink);margin:10px 0 14px}
.intro p{color:#526572;max-width:680px}
.intro .eyebrow,.eyebrow{color:#006b96;font-size:11px;letter-spacing:2px}
.breadcrumbs,.hint,small{color:#586c79}
.breadcrumbs a,summary{color:var(--sps-link)}
section,.empty,.catalogue-card{border-color:var(--sps-line);border-radius:12px;background:#fff}
.catalogue-card{transition:box-shadow .15s,border-color .15s;color:var(--sps-ink)}
.catalogue-card:hover{border-color:#52b9e5;box-shadow:0 7px 24px #17496912;color:var(--sps-ink)}
.catalogue-grid{gap:26px;margin-top:30px}
.card-copy{padding:24px}
.card-copy h2{font-size:20px;margin-bottom:14px}
.price{color:var(--sps-ink);font-size:22px}
.cover-placeholder{background:#e3f5fd;color:#08759f}
.folder-symbol{color:#007eaf}
button{background:var(--sps-blue);color:var(--sps-ink);border-radius:7px;min-height:44px}
button:not(:disabled):hover{background:#18aae7;color:#102a38}
.secondary{background:#edf5f9;color:#234454;border:1px solid #d5e4ec}
.secondary:not(:disabled):hover{background:#dceef7;color:#142633}
.catalogue-card [data-add-video]:disabled{background:#e9f3f8;color:#426273}
.test-notice{background:#fff9e9;border-color:#eddfb8;color:#655025;font-size:14px;padding:12px 18px}
#basket-notice:not(:empty){background:#e7f5fc;color:#164962;border:1px solid #cbe8f5}
#order-confirmation{border:2px solid var(--sps-blue)}
.basket-total,.basket-row,.saved-order{border-color:var(--sps-line)}
.basket-total strong{font-size:30px;letter-spacing:-.6px}
.basket-summary h2{font-size:22px}
.basket-reference{font-size:12px;color:#526572}
.saved-order summary{color:var(--sps-link)}
.preview-launch,.preview-dialog{background:#102a3a}
.preview-launch:hover .play-circle{background:#006b96}
.preview-buttons button{background:#24526b;color:white}
.preview-buttons button:hover{background:#316d8c;color:white}
.preview-help{color:#c7dce7}
.test-downloads,#download-list{border-top:3px solid var(--sps-blue)}
.test-downloads{margin-top:22px;padding-top:10px}
.test-downloads a,#download-list a{display:inline-block;background:var(--sps-blue);color:var(--sps-ink);padding:11px 18px;border-radius:7px;text-decoration:none;font-weight:700;overflow-wrap:anywhere;max-width:100%}
.test-downloads a:hover,#download-list a:hover{background:#18aae7}
footer{border-top:1px solid var(--sps-line);background:white;color:#526572;max-width:none;padding:24px 4%;font-size:12px}
.store-footer-inner{max-width:1260px;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
@media(max-width:700px){header{padding:16px 4%;gap:16px}.brand.brand-link{gap:13px}.brand img{width:92px}.brand .brand-name{font-size:16px}.brand .brand-name small{font-size:9px;letter-spacing:1.8px}.header-link,.basket-link{padding:9px 13px;font-size:13px}.intro{margin:16px 0 22px}main,.basket-page{padding:24px 5% 40px}.catalogue-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}.basket-layout{display:block}.test-notice{font-size:13px}.basket-total strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){.catalogue-card{transition:none}}
