.grc { --grc-gap:16px; --grc-width:240px; --grc-radius:28px; width:100%; min-width:0; color:inherit; container-type:inline-size; }
.grc *, .grc *::before, .grc *::after { box-sizing:border-box; }
.grc .grc__heading { font-family:inherit; font-size:clamp(24px,3vw,38px); font-weight:750; line-height:1.12; letter-spacing:-.025em; margin:0 0 24px; color:inherit; }
.grc .grc__track { display:flex; gap:var(--grc-gap); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding:3px; margin:0 -3px; list-style:none; -webkit-overflow-scrolling:touch; }
.grc .grc__track::-webkit-scrollbar { display:none; }
.grc .grc__card { position:relative; flex:0 0 var(--grc-width); width:var(--grc-width); aspect-ratio:9 / 16; padding:0; margin:0; overflow:hidden; isolation:isolate; border-radius:var(--grc-radius); background:var(--grc-background,#000000); scroll-snap-align:start; }
.grc .grc__image { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 50%; border-radius:0; margin:0; }
.grc .grc__card--overlay::after { content:""; position:absolute; inset:20% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.5) 40%,rgba(0,0,0,.94)); pointer-events:none; z-index:1; }
.grc .grc__card-link { position:absolute; inset:0; z-index:2; border-radius:inherit; }
.grc .grc__content { position:absolute; bottom:0; left:0; right:0; z-index:3; padding:18px; max-height:100%; overflow-y:auto; overscroll-behavior-y:contain; pointer-events:none; color:#fff; }
.grc .grc__title { font-family:inherit; color:#fff; font-size:28px; line-height:1.02; font-weight:750; letter-spacing:-.025em; margin:0; overflow-wrap:anywhere; }
.grc .grc__subtitle { color:#fff; font-size:18px; line-height:1.15; margin:5px 0 0; overflow-wrap:anywhere; }
.grc .grc__rubric { font-size:13px; font-weight:750; text-transform:uppercase; line-height:1.15; margin:8px 0 0; overflow-wrap:anywhere; }
.grc .grc__buttons { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.grc a.grc__button { pointer-events:auto; position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:36px; max-width:100%; padding:8px 12px; background:var(--grc-button-bg,#ed2490); color:var(--grc-button-fg,#fff); border:1px solid transparent; border-radius:999px; font-family:inherit; font-size:13px; line-height:1.15; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.grc a.grc__button:hover { filter:brightness(1.12); color:var(--grc-button-fg,#fff); }
.grc .grc__controls { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.grc .grc__controls[hidden] { display:none; }
.grc .grc__controls button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #514b5e; border-radius:50%; background:#14111c; color:#f2eff8; font-size:30px; font-family:Arial,sans-serif; line-height:1; cursor:pointer; box-shadow:none; }
.grc .grc__controls button:disabled { opacity:.3; cursor:default; }
.grc :is(a,button,[tabindex]):focus-visible { outline:3px solid #6bdcff; outline-offset:-3px; }
.grc .grc__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1023px) { .grc { --grc-width:210px; --grc-gap:12px; --grc-radius:24px; } }
@media(max-width:599px) { .grc { --grc-width:30vw; --grc-gap:8px; --grc-radius:16px; } .grc .grc__heading { margin-bottom:16px; } .grc .grc__content { padding:9px; } .grc .grc__title { font-size:16px; } .grc .grc__subtitle { font-size:12px; } .grc .grc__rubric { font-size:9px; margin-top:5px; } .grc a.grc__button { padding:6px 8px; font-size:10px; min-height:30px; } }
@container (max-width:300px) { .grc .grc__card { flex-basis:82cqw; width:82cqw; } }
@media(prefers-reduced-motion:reduce) { .grc .grc__track { scroll-behavior:auto; } }
/* Video: native controls never have a link overlay above them. */
.grc .grc__video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--grc-background,#000000);z-index:0;}
.grc .grc__card--controls .grc__content {bottom:58px;max-height:calc(100% - 108px);}
.grc .grc__play, .grc a.grc__video-link {position:absolute;z-index:5;top:12px;right:12px;border-radius:999px;border:1px solid #ffffff70;background:#111d;color:white;padding:8px 12px;font-size:13px;line-height:1.2;text-decoration:none;cursor:pointer;}
.grc .grc__play {left:12px;right:auto;min-width:40px;min-height:40px;}
.grc .grc__video-error {position:absolute;z-index:4;top:45%;left:8px;right:8px;background:#111e;color:white;text-align:center;padding:8px;font-size:12px;pointer-events:none;}
.grc .grc__video-error[hidden] {display:none;}
@media(max-width:599px) {.grc a.grc__video-link {top:6px;right:6px;font-size:10px;padding:7px;} .grc .grc__play {top:6px;left:6px;min-width:32px;min-height:32px;padding:6px;}}

/* A reserved footer keeps the rubric physically below native video controls. */
.grc .grc__card--footer { --grc-footer-height:44px; }
.grc .grc__card--footer .grc__video { height:calc(100% - var(--grc-footer-height)); bottom:var(--grc-footer-height); }
.grc .grc__footer { position:absolute; bottom:0; left:0; right:0; height:var(--grc-footer-height); padding:8px 18px; display:flex; align-items:center; z-index:3; overflow-y:auto; background:var(--grc-background,#000000); }
.grc .grc__footer .grc__rubric { margin:0; max-height:100%; }
.grc .grc__card--footer .grc__content { bottom:calc(58px + var(--grc-footer-height)); max-height:calc(100% - 108px - var(--grc-footer-height)); }
.grc .grc__card--controls::after { bottom:0; background:linear-gradient(to bottom,transparent,rgba(0,0,0,.7) 40%,rgba(0,0,0,.8) 60%,transparent calc(100% - 48px)); }
.grc .grc__card--footer::after { bottom:var(--grc-footer-height); }
@media(max-width:599px) { .grc .grc__card--footer { --grc-footer-height:28px; } .grc .grc__footer { padding:5px 9px; } }

.grc .grc__card--instagram .grc__content, .grc .grc__card--instagram .grc__footer .grc__rubric, .grc .grc__card--instagram::after { transition:opacity .45s ease; }
.grc .grc__card--idle .grc__content, .grc .grc__card--idle .grc__footer .grc__rubric, .grc .grc__card--idle::after { opacity:0; }
@media(prefers-reduced-motion:reduce) { .grc .grc__card--instagram .grc__content, .grc .grc__card--instagram .grc__footer .grc__rubric, .grc .grc__card--instagram::after { transition:none; } }

/* Original GR Collections arrow asset; color follows its control. */
.grc .grc__arrow { display:inline-block; width:28px; height:21px; flex-shrink:0; background-color:currentColor; -webkit-mask:url("arrow.svg") center / contain no-repeat; mask:url("arrow.svg") center / contain no-repeat; }
.grc .grc__arrow--left { transform:rotate(180deg); }
.grc .grc__arrow--external { width:13px; height:13px; transform:rotate(-45deg); }
.grc a.grc__video-link { display:inline-flex; align-items:center; gap:5px; }

.grc--infinite .grc__track { scroll-snap-type:none; overflow-anchor:none; }
.grc .grc__card[hidden] { display:none; }

/* Circular transform track: vertical page scroll and pinch zoom stay native. */
.grc--driven .grc__track { position:relative; overflow:hidden; touch-action:auto; scroll-snap-type:none; }
.grc--driven .grc__card { position:absolute; top:3px; left:3px; will-change:transform; }
.grc--driven .grc__image { -webkit-user-drag:none; user-select:none; }
@supports (overflow:clip) { .grc--driven .grc__track { overflow:clip; } }

/* Receive gestures above the native video/poster, but never above its controls. */
.grc .grc__video-gesture { display:none; position:absolute; inset:0; z-index:1; background:transparent; -webkit-user-select:none; user-select:none; }
.grc[data-gr-carousel-ready="1"] .grc__video-gesture { display:block; }
.grc .grc__card--controls .grc__video-gesture { bottom:64px; }
.grc .grc__card--footer .grc__video-gesture { bottom:calc(64px + var(--grc-footer-height)); }

/* Whole video card is the tap/swipe surface; links retain their own action. */
.grc .grc__card--video .grc__video-gesture { inset:0; width:100%; height:100%; padding:0; margin:0; border:0; border-radius:inherit; box-shadow:none; background:transparent; appearance:none; z-index:2; cursor:pointer; }
.grc .grc__card--video .grc__footer { pointer-events:none; }
.grc .grc__card--footer .grc__content { bottom:var(--grc-footer-height); max-height:calc(100% - 50px - var(--grc-footer-height)); }
.grc .grc__card--footer::after { bottom:var(--grc-footer-height); }

.grc .grc__fullscreen { position:absolute; top:10px; left:10px; z-index:6; display:grid; place-items:center; width:36px; height:36px; padding:8px; border:1px solid #ffffff70; border-radius:50%; background:#111d; color:#fff; cursor:pointer; }
.grc .grc__fullscreen[hidden] { display:none; }
.grc .grc__fullscreen svg { display:block; width:100%; height:100%; }
.grc .grc__card:fullscreen { position:fixed; inset:0; width:100vw; height:100vh; aspect-ratio:auto; border-radius:0; transform:none!important; background:#000; }
.grc .grc__card:fullscreen .grc__video { object-fit:contain; }
@media(max-width:599px) { .grc .grc__fullscreen { top:6px; left:6px; width:30px; height:30px; padding:6px; } }
