/* RC 1.5 — Custom Beach Carts page (from the design's carts.css). Loads after rc.css. */

.carts-hero{padding:88px var(--rc-gutter) 80px}
.carts-hero__inner{position:relative;max-width:1400px;margin:0 auto}
.carts-hero__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}
.carts-hero__copy{max-width:760px}
.carts-hero__copy .hero__subtitle{margin:0}
.carts-hero .hero__ctas{margin:0}
.carts-hero__title{font-size:clamp(44px,7vw,84px);line-height:.98;font-weight:700;letter-spacing:-.03em;margin:0 0 24px}

.cart-jumps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.cart-jump{display:block;background:var(--rc-paper);color:var(--rc-ink);border:2px solid var(--rc-paper);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.cart-jump:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--rc-orange)}
.cart-jump__media{aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--rc-ink)}
.cart-jump__media img{width:100%;height:100%;object-fit:cover;display:block}
.cart-jump__body{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cart-jump__name{font-size:17px;font-weight:700}
.cart-jump__num{font-family:var(--rc-font-mono);font-size:12px;color:var(--rc-orange)}

/* Gallery */
.cart-gallery{padding:96px var(--rc-gutter);background:var(--rc-paper)}
.cart-gallery__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px}
.cart-gallery__head .section-title{margin:0}
.cart-gallery__count{font-family:var(--rc-font-mono);font-size:13px;color:#7A756B}
.cart-gallery__grid{display:flex;gap:18px;align-items:flex-start}
.cart-gallery__col{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px}
.cart-gallery__item{position:relative;display:block;width:100%;padding:0;border:2px solid var(--rc-ink);background:var(--rc-sand);cursor:zoom-in;overflow:hidden;animation:rcFadeIn .5s ease both;transition:transform .2s ease,box-shadow .2s ease}
.cart-gallery__item:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--rc-orange)}
.cart-gallery__item img{display:block;width:100%;height:auto;min-height:120px}
.cart-gallery__num{position:absolute;left:0;bottom:0;background:var(--rc-paper);border-top:2px solid var(--rc-ink);border-right:2px solid var(--rc-ink);font-family:var(--rc-font-mono);font-size:11px;padding:4px 8px;color:var(--rc-ink)}
.cart-gallery__sentinel{height:1px}
.cart-gallery__foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:40px}
.cart-gallery__progress{width:min(100%,360px);height:6px;border:2px solid var(--rc-ink);background:var(--rc-paper);box-sizing:content-box}
.cart-gallery__progress > div{height:100%;width:0;background:var(--rc-orange);transition:width .4s ease}
.cart-gallery__noscript{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cart-gallery__noscript img{width:100%;height:auto;border:2px solid var(--rc-ink)}
@keyframes rcFadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Cart type sections */
.cart-type{padding:110px var(--rc-gutter);background:var(--rc-sand);border-top:2px solid var(--rc-ink)}
.cart-type--alt{background:var(--rc-paper)}
.cart-type--dark{background:var(--rc-ink);color:var(--rc-paper);border-top:none}
.cart-type__inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;align-items:center}
.cart-type--reverse .cart-type__copy{order:-1}
.cart-type__frame{border:3px solid var(--rc-ink);overflow:hidden;background:var(--rc-ink)}
.cart-type--dark .cart-type__frame{border-color:var(--rc-paper)}
.cart-type__frame--orange{box-shadow:14px 14px 0 var(--rc-orange)}
.cart-type__frame--blue{box-shadow:14px 14px 0 var(--rc-blue)}
.cart-type__frame img{display:block;width:100%;height:auto}
.cart-type__copy{max-width:620px}
.cart-type__title{font-size:clamp(30px,5vw,48px);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 24px}
.cart-type__desc{font-size:18px;line-height:1.7;color:#33302A;margin:0 0 32px;text-wrap:pretty}
.cart-type--dark .cart-type__desc{color:#D8D3C9}

/* Lightbox */
.rc-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(18,16,14,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 48px 24px}
.rc-lightbox[hidden]{display:none}
.rc-lightbox__bar{position:absolute;top:16px;left:48px;right:48px;display:flex;justify-content:space-between;align-items:center}
.rc-lightbox__counter{font-family:var(--rc-font-mono);font-size:13px;color:var(--rc-paper);letter-spacing:.08em}
.rc-lightbox__close{width:44px;height:44px;background:var(--rc-paper);border:2px solid var(--rc-paper);color:var(--rc-ink);font-size:20px;cursor:pointer}
.rc-lightbox__close:hover{background:var(--rc-orange)}
.rc-lightbox__img{display:block;max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border:3px solid var(--rc-paper);background:var(--rc-ink)}
.rc-lightbox__nav{display:flex;gap:14px;margin-top:20px}
.rc-lightbox__nav button{width:52px;height:52px;border:2px solid var(--rc-paper);font-size:20px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.rc-lightbox__prev{background:var(--rc-ink);color:var(--rc-paper);box-shadow:4px 4px 0 var(--rc-orange)}
.rc-lightbox__prev:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--rc-orange)}
.rc-lightbox__next{background:var(--rc-orange);color:var(--rc-ink);box-shadow:4px 4px 0 var(--rc-paper)}
.rc-lightbox__next:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--rc-paper)}

@media (max-width:999px){
  .cart-type__inner{grid-template-columns:minmax(0,1fr);gap:40px}
  .cart-type--reverse .cart-type__copy{order:0}
}
@media (max-width:600px){
  .carts-hero{padding:56px var(--rc-gutter) 56px}
  .cart-gallery,.cart-type{padding:64px var(--rc-gutter)}
  .cart-gallery__grid,.cart-gallery__col{gap:10px}
  .rc-lightbox{padding:64px 12px 24px}
  .rc-lightbox__bar{left:12px;right:12px}
}

.cart-jump:hover{color:var(--rc-ink)}
.cart-type--dark .cart-type__title{color:var(--rc-paper)}
