/* CGG Scene block 1.4.3: scene cards on the girl page + full-screen scene viewer. */
.cgg-scene-block{margin:0 0 18px;padding:0;clear:both}
.cgg-scene-block template{display:none}
a.cgg-scard{display:flex;align-items:stretch;gap:20px;width:100%;box-sizing:border-box;padding:14px;margin:0;background:#fff;color:#000;text-decoration:none;border:1px solid #eee;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:box-shadow .25s ease,transform .25s ease;text-align:left}
a.cgg-scard:hover,a.cgg-scard:focus{color:#000;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.14)}
/* No underline anywhere in the card, in any state (the theme underlines .entry-content a / a:hover). */
.cgg-scene-block a.cgg-scard,.cgg-scene-block a.cgg-scard:hover,.cgg-scene-block a.cgg-scard:focus,.cgg-scene-block a.cgg-scard:focus-visible,.cgg-scene-block a.cgg-scard:active,.cgg-scene-block a.cgg-scard:visited,.cgg-scene-block a.cgg-scard *{text-decoration:none!important}
a.cgg-scard:focus-visible{outline:2px solid var(--primary-color,#ff91a4);outline-offset:2px}
.cgg-scard__thumb{position:relative;display:block;flex:0 0 38%;max-width:400px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#1d1d1d;align-self:flex-start}
.cgg-scard__thumb img.cgg-scard__img,.cgg-scard__noimg{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:center 25%;border-radius:0;transition:transform .4s ease}
a.cgg-scard:hover .cgg-scard__img{transform:scale(1.04)}
.cgg-scard__badge{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:4px;background:rgba(0,0,0,.78);color:#fff;font-size:12px;line-height:1;font-weight:700;letter-spacing:.3px;font-variant-numeric:tabular-nums}
/* 1.4.0: photo badge + video badge side by side (scenes with videos). */
.cgg-scard__marks{position:absolute;right:8px;bottom:8px;display:flex;gap:6px;pointer-events:none}
.cgg-scard__marks .cgg-scard__badge{position:static}
.cgg-scard__icon{display:block;flex:0 0 auto}
/* 1.4.3: no play button over the card thumbnail (also hidden in pages cached with the 1.4.2 markup). */
.cgg-scard__play{display:none!important}
.cgg-scard__body{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;flex:1 1 auto;padding:4px 6px 4px 0}
.cgg-scard__title{display:block;font-family:var(--secondary-font,inherit);font-weight:700;font-size:1.45em;line-height:1.2;color:#000;overflow-wrap:break-word}
a.cgg-scard:hover .cgg-scard__title{color:var(--primary-color,#ff91a4)}
.cgg-scard__desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.85em;line-height:1.55;color:#555}
@media (max-width:600px){
	a.cgg-scard{gap:12px;padding:10px;border-radius:12px}
	.cgg-scard__thumb{flex-basis:44%;border-radius:8px}
	.cgg-scard__body{gap:5px;padding:0}
	.cgg-scard__title{font-size:1.08em}
	.cgg-scard__desc{-webkit-line-clamp:2;font-size:.78em;line-height:1.45}
}

/* 1.4.0: the girl-page layout rules (body.cgg-has-scenes / body.cgg-girl-page) moved to assets/girl-layout.css. */

/* Viewer */
html.cgg-sv-lock,html.cgg-sv-lock body{overflow:hidden!important}
.cgg-sv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;flex-direction:column;margin:0;padding:0;border:0;background:#0d0d10;color:#e9e9ec;font-family:var(--primary-font,sans-serif);font-size:16px;line-height:1.5;overscroll-behavior:contain;-webkit-text-size-adjust:100%}
.cgg-sv[hidden],.cgg-sv [hidden]{display:none!important}
.cgg-sv *,.cgg-sv *::before,.cgg-sv *::after{box-sizing:border-box}
.cgg-sv button.cgg-sv__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;margin:0;padding:0 12px;border:0;border-radius:22px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;box-shadow:none;cursor:pointer;transition:background .2s ease}
.cgg-sv button.cgg-sv__btn:hover,.cgg-sv button.cgg-sv__btn:focus{background:rgba(255,255,255,.22);color:#fff}
.cgg-sv a.cgg-sv__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;margin:0;padding:0 14px;border:0;border-radius:22px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1;text-decoration:none;text-transform:none;letter-spacing:0;box-shadow:none;white-space:nowrap}
.cgg-sv a.cgg-sv__btn:hover,.cgg-sv a.cgg-sv__btn:focus{background:rgba(255,255,255,.22);color:#fff;text-decoration:none}
.cgg-sv a.cgg-sv__btn:focus-visible{outline:2px solid var(--primary-color,#ff91a4);outline-offset:2px}
.cgg-sv a.cgg-sv__btn svg{display:block;width:20px;height:20px;fill:currentColor}
.cgg-sv button.cgg-sv__btn:focus-visible{outline:2px solid var(--primary-color,#ff91a4);outline-offset:2px}
.cgg-sv button.cgg-sv__btn:disabled{opacity:.35;cursor:default;background:rgba(255,255,255,.1)}
.cgg-sv button.cgg-sv__btn svg{display:block;width:22px;height:22px;fill:currentColor}
.cgg-sv__bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#0d0d10;border-bottom:1px solid rgba(255,255,255,.06)}
/* 1.3.3: no scene title in the bar; scene prev / counter / next on the left, Close pushed to the right. */
.cgg-sv .cgg-sv__bar button.cgg-sv__close{margin-left:auto}
.cgg-sv__label{display:none!important}
.cgg-sv__count{min-width:56px;text-align:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.cgg-sv__scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;outline:0}
.cgg-sv__body{max-width:1600px;margin:0 auto;padding:22px 24px 48px}
.cgg-sv h2.cgg-sv__title{margin:0 0 10px;padding:0;border:0;font-family:var(--secondary-font,inherit);font-size:2.1em;line-height:1.15;font-weight:700;color:#fff;text-transform:none;letter-spacing:0}
.cgg-sv__desc{max-width:960px;margin:0 0 22px;color:#c9c9cf;font-size:1em}
.cgg-sv__desc p{margin:0 0 .8em}
.cgg-sv__link{color:#ff7aa8;text-decoration:underline;text-underline-offset:2px}
.cgg-sv__links{display:flex;flex-wrap:wrap;gap:8px}
.cgg-sv__links .cgg-sv__link{display:inline-block;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-weight:600}
.cgg-sv__links .cgg-sv__link:hover,.cgg-sv__links .cgg-sv__link:focus-visible{background:rgba(255,255,255,.2)}
.cgg-sv__videos{display:flex;flex-direction:column;align-items:center;gap:16px;margin:0 0 22px}
/* 1.4.3: videos centred, at most 800 px wide (the full width of the screen on phones); a round PLAY button over the poster. */
.cgg-sv__vbox{position:relative;width:100%;max-width:800px;margin:0 auto;line-height:0}
.cgg-sv__video{display:block;width:100%;max-width:800px;max-height:82vh;margin:0 auto;aspect-ratio:16/9;background:#000;border-radius:10px}
.cgg-sv button.cgg-sv__vplay{position:absolute;left:50%;top:50%;width:76px;height:76px;min-width:0;margin:-38px 0 0 -38px;padding:0;border-radius:50%;background:rgba(0,0,0,.6);box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.cgg-sv button.cgg-sv__vplay:hover,.cgg-sv button.cgg-sv__vplay:focus{background:rgba(0,0,0,.78);color:#fff}
.cgg-sv button.cgg-sv__vplay svg{width:40px;height:40px;margin-left:5px}
.cgg-sv__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cgg-sv__grid li{margin:0;padding:0;list-style:none}
.cgg-sv__grid li::before{content:none}
/* 1.4.0: sections 2..N of a scene (text, videos, photos), in order after section 1. */
.cgg-sv__sec{margin:34px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.cgg-sv button.cgg-sv__ph{position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:8px;background:#1b1b20;overflow:hidden;cursor:zoom-in;box-shadow:none;line-height:0}
.cgg-sv button.cgg-sv__ph.is-loading{background:linear-gradient(100deg,#1b1b20 30%,#2a2a31 50%,#1b1b20 70%) 0 0/300% 100%;animation:cgg-sv-shimmer 1.4s linear infinite}
.cgg-sv button.cgg-sv__ph.is-error::after{content:"!";position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(255,255,255,.14);color:#c9c9cf;font:700 18px/30px sans-serif;text-align:center}
@keyframes cgg-sv-shimmer{from{background-position:100% 0}to{background-position:0 0}}
.cgg-sv button.cgg-sv__ph:focus-visible{outline:2px solid var(--primary-color,#ff91a4);outline-offset:2px}
.cgg-sv__ph img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:16/9;object-fit:cover;margin:0;border-radius:0;color:transparent;transition:opacity .2s ease,transform .3s ease}
.cgg-sv button.cgg-sv__ph:hover img{transform:scale(1.03)}
.cgg-sv__photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;background:#000}
.cgg-sv__photo .cgg-sv__bar{background:rgba(0,0,0,.6);border:0}
.cgg-sv__photo .cgg-sv__bar .cgg-sv__count{margin-left:auto}
.cgg-sv__stage{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:8px 64px 16px;touch-action:pan-y pinch-zoom}
/* 1.3.2: the photo at its natural size, centred in the stage; only scaled down (max 100% of the stage minus the side-button gutters), never up. Absolutely positioned, so the percentages always resolve. */
.cgg-sv__stage img.cgg-sv__full{position:absolute;top:calc(50% - 4px);left:50%;display:block;width:auto;height:auto;max-width:calc(100% - 128px);max-height:calc(100% - 24px);margin:0;padding:0;border:0;transform:translate(-50%,-50%);object-fit:contain;cursor:zoom-out;border-radius:0;background:none;color:transparent;opacity:1;visibility:visible;transition:opacity .15s ease;user-select:none;-webkit-user-select:none}
.cgg-sv__stage.is-loading img.cgg-sv__full{opacity:.35}
.cgg-sv__stage.is-error img.cgg-sv__full{visibility:hidden}
.cgg-sv__spin{position:absolute;left:50%;top:50%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;width:220px;margin:-30px 0 0 -110px;color:#c9c9cf;font-size:13px;line-height:1.3;text-align:center;pointer-events:none}
.cgg-sv__spin i{display:block;width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:cgg-sv-spin .8s linear infinite}
.cgg-sv__spin span{display:block;white-space:pre-line}
.cgg-sv__stage.is-slow .cgg-sv__spin span::after{content:"\A Taking longer than usual…";color:#8d8d95}
@keyframes cgg-sv-spin{to{transform:rotate(360deg)}}
.cgg-sv__err{position:absolute;left:50%;top:50%;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:300px;max-width:calc(100% - 24px);transform:translate(-50%,-50%);padding:18px;border-radius:12px;background:rgba(255,255,255,.06);text-align:center}
.cgg-sv__err p{flex:0 0 100%;margin:0 0 4px;color:#e9e9ec;font-size:15px}
.cgg-sv button.cgg-sv__side{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;padding:0;border-radius:50%;background:rgba(255,255,255,.12)}
.cgg-sv button.cgg-sv__side svg{width:30px;height:30px}
.cgg-sv__side--prev{left:8px}.cgg-sv__side--next{right:8px}
@media (max-width:600px){
	.cgg-sv__stage img.cgg-sv__full{top:calc(50% - 33px);max-width:100%;max-height:calc(100% - 74px)}
	.cgg-sv a.cgg-sv__orig{padding:0 10px}.cgg-sv a.cgg-sv__orig span{display:none}
	.cgg-sv .cgg-sv__photo button.cgg-sv__btn,.cgg-sv .cgg-sv__photo a.cgg-sv__btn{flex:0 0 auto;white-space:nowrap}
	.cgg-sv__bar{padding:8px 10px;gap:6px}
	.cgg-sv__body{padding:16px 12px 40px}
	.cgg-sv h2.cgg-sv__title{font-size:1.55em}
	.cgg-sv__desc{font-size:.93em}
	.cgg-sv__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
	.cgg-sv button.cgg-sv__vplay{width:60px;height:60px;margin:-30px 0 0 -30px}.cgg-sv button.cgg-sv__vplay svg{width:32px;height:32px;margin-left:4px}
	.cgg-sv__stage{padding:4px 0 70px}
	.cgg-sv button.cgg-sv__side{top:auto;bottom:12px;margin-top:0}
	.cgg-sv__side--prev{left:calc(50% - 64px)}.cgg-sv__side--next{right:calc(50% - 64px)}
}
@media (prefers-reduced-motion:reduce){a.cgg-scard,.cgg-scard__img,.cgg-sv__ph img,.cgg-sv__stage img.cgg-sv__full{transition:none}.cgg-sv button.cgg-sv__ph.is-loading{animation:none}.cgg-sv__spin i{animation-duration:2s}}

/* 1.6.0: FREE mark on scenes that are open for everybody (top-left of the card preview; also in the viewer head). */
.cgg-scard__free{position:absolute;left:8px;top:8px;z-index:2;display:inline-block;padding:4px 8px;border-radius:4px;background:var(--primary-color,#ff91a4);color:#fff;font-size:12px;line-height:1;font-weight:800;letter-spacing:1px;text-transform:uppercase;pointer-events:none}
.cgg-sv .cgg-sv__free{display:inline-block;margin:0 0 8px;padding:4px 8px;border-radius:4px;background:var(--primary-color,#ff91a4);color:#fff;font-size:12px;line-height:1;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.cgg-sv__head .cgg-sv__free{display:block;width:max-content}
