/* Product gallery page overrides */
.rk-gallery-page { background: #f6f7f8; color: #172333; font-family: var(--font-primary); }
.rk-gallery-hero { background: #12263a; color: #fff; padding: 92px 6vw 72px; position: relative; overflow: hidden; }
.rk-gallery-hero::after { content: ''; position: absolute; width: 38vw; height: 38vw; right: -12vw; top: -22vw; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.04), 0 0 0 70px rgba(255,255,255,.025); }
.rk-gallery-hero__inner { max-width: 1380px; margin: 0 auto; position: relative; z-index: 1; }
.rk-gallery-hero__eyebrow, .rk-gallery-content__eyebrow { color: #e7a92d; font-size: 12px; font-weight: 700; letter-spacing: .16em; margin: 0 0 14px; text-transform: uppercase; }
.rk-gallery-hero__title { color: #fff; font-size: clamp(42px, 6vw, 80px); font-weight: 700; line-height: 1; margin: 0 0 22px; }
.rk-gallery-breadcrumb { display: flex; gap: 12px; font-size: 14px; }
.rk-gallery-breadcrumb a { color: #fff; }
.rk-gallery-shell { background: #f6f7f8; padding: 72px 6vw 100px; }
.rk-gallery-layout { display: grid; grid-template-columns: minmax(240px, 310px) 1fr; gap: 46px; max-width: 1380px; margin: 0 auto; align-items: start; }
.rk-gallery-sidebar { background: #fff; border-top: 3px solid #e7a92d; box-shadow: 0 12px 30px rgba(18,38,58,.07); padding: 28px 24px; position: sticky; top: 24px; }
.rk-gallery-sidebar__head { align-items: center; display: flex; gap: 10px; margin-bottom: 22px; }
.rk-gallery-sidebar__head h2 { color: #12263a; font-size: 20px; font-weight: 600; margin: 0; }
.rk-gallery-sidebar__rule { background: #e7a92d; display: block; height: 2px; width: 24px; }
.rk-gallery-list { list-style: none; margin: 0; padding: 0; }
.rk-gallery-list li + li { border-top: 1px solid #e8ecef; }
.rk-gallery-nav-link { align-items: center; color: #5a6672; display: flex; font-size: 16px; font-weight: 400; gap: 10px; justify-content: space-between; line-height: 1.35; padding: 13px 0; transition: color .2s ease, padding .2s ease; }
.rk-gallery-nav-link:hover, .rk-gallery-nav-link.is-active { color: #12263a; padding-left: 6px; }
.rk-gallery-nav-link.is-active { font-weight: 600; }
.rk-gallery-nav-link.is-active span:last-child { color: #e7a92d; }
.rk-gallery-content { min-width: 0; }
.rk-gallery-content__head { align-items: end; border-bottom: 1px solid #dce2e6; display: flex; justify-content: space-between; gap: 20px; margin-bottom: 28px; padding-bottom: 18px; }
.rk-gallery-content__head h2 { color: #12263a; font-size: clamp(25px, 3vw, 38px); line-height: 1.12; margin: 0; }
.rk-gallery-count { background: #12263a; color: #fff; font-size: 13px; font-weight: 700; padding: 10px 14px; white-space: nowrap; }
.rk-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.rk-product-catalog-card { background: #fff; min-width: 0; }
.rk-product-catalog-card__image { aspect-ratio: 300 / 242; background: #edf0f2; border: 0; cursor: pointer; display: block; overflow: hidden; padding: 0; position: relative; width: 100%; }
.rk-product-catalog-card__image img { display: block; height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.rk-product-catalog-card:hover .rk-product-catalog-card__image img { transform: scale(1.04); }
.rk-product-catalog-card__body { padding: 20px 20px 22px; }
.rk-product-catalog-card__body h3 { color: #12263a; font-size: 18px; line-height: 1.3; margin: 0 0 14px; }
.rk-product-catalog-card__title, .rk-product-catalog-card__link { background: transparent; border: 0; cursor: pointer; font: inherit; padding: 0; text-align: left; }
.rk-product-catalog-card__title { color: inherit; }
.rk-product-catalog-card__link { color: #12263a; font-size: 13px; font-weight: 700; }
.rk-product-catalog-card__link span { color: #e7a92d; margin-left: 5px; }
.rk-gallery-card__zoom { align-items: center; background: rgba(18,38,58,.88); bottom: 0; color: #fff; display: flex; font-size: 15px; height: 38px; justify-content: center; opacity: 0; position: absolute; right: 0; transition: opacity .25s ease; width: 38px; }
.rk-product-catalog-card:hover .rk-gallery-card__zoom, .rk-product-catalog-card:focus-within .rk-gallery-card__zoom { opacity: 1; }
.rk-gallery-lightbox { align-items: center; background: rgba(8,18,28,.92); display: flex; inset: 0; justify-content: center; opacity: 0; padding: 5vw; pointer-events: none; position: fixed; transition: opacity .2s ease; z-index: 1000; }
.rk-gallery-lightbox.is-open { opacity: 1; pointer-events: auto; }
.rk-gallery-lightbox__image { max-height: 90vh; max-width: 92vw; object-fit: contain; }
.rk-gallery-lightbox__close { background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 42px; line-height: 1; position: absolute; right: 28px; top: 20px; }
@media (max-width: 900px) { .rk-gallery-layout { grid-template-columns: 1fr; } .rk-gallery-sidebar { position: static; } .rk-gallery-list { columns: 2; column-gap: 24px; } .rk-gallery-list li { break-inside: avoid; } }
@media (max-width: 600px) { .rk-gallery-hero { padding: 68px 22px 56px; } .rk-gallery-shell { padding: 46px 22px 70px; } .rk-gallery-content__head { align-items: start; flex-direction: column; } .rk-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .rk-gallery-sidebar { padding: 22px 18px; } .rk-gallery-list { columns: 1; } }

.rk-sr-only { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.rk-all-gallery-page { min-height: 100vh; }
.rk-all-gallery-shell { padding-top: 72px; }
.rk-all-gallery-grid { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; max-width: 1380px; }
.rk-all-gallery-tile { aspect-ratio: 300 / 242; margin: 0; overflow: hidden; position: relative; }
.rk-all-gallery-tile img { background: #edf0f2; display: block; height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.rk-all-gallery-tile:hover img { transform: scale(1.04); }
.rk-all-gallery-tile::after { background: rgba(18,38,58,.82); bottom: 0; content: ''; height: 38px; opacity: 0; position: absolute; right: 0; transition: opacity .25s ease; width: 38px; }
.rk-all-gallery-tile:hover::after { opacity: 1; }
@media (max-width: 1100px) { .rk-all-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rk-all-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 460px) { .rk-all-gallery-grid { grid-template-columns: 1fr; } }
