.gfsp{--gfsp-bg:var(--gfs-purple,#2a0066);--gfsp-deep:var(--gfs-purple-deep,#18003d);--gfsp-line:rgba(255,255,255,.16);--gfsp-muted:rgba(255,255,255,.68);direction:rtl;background:var(--gfsp-bg);color:#fff;min-height:70vh;padding:10px 0 32px;font:inherit;line-height:1.6}
.gfsp-standalone{padding-top:calc(var(--gfs-header-h,62px) + var(--wp-admin--admin-bar--height,0px) + 8px)}
body.gfsp-page .gfs-page-title{display:none}body.gfsp-page .gfs-generic-page{padding:0}body.gfsp-page .gfs-entry-content{line-height:normal}
.gfsp *{box-sizing:border-box}.gfsp-shell{width:min(var(--gfs-shell,1130px),calc(100% - 28px));margin:auto}
.gfsp-upload{display:grid;grid-template-columns:1fr;gap:9px;padding:11px;border:1px solid var(--gfsp-line);border-radius:12px;background:rgba(255,255,255,.035)}
.gfsp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:132px;padding:10px;border:1px dashed rgba(255,255,255,.35);border-radius:9px;background:rgba(0,0,0,.09);text-align:center;cursor:pointer;transition:background .2s,border-color .2s}
.gfsp-drop:hover,.gfsp-drop.is-dragging,.gfsp-drop:focus-visible{background:rgba(49,165,255,.09);border-color:#69c8ff;outline:0}.gfsp-drop.has-image{display:none}
.gfsp-drop-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gfsp-line);border-radius:8px;background:rgba(255,255,255,.07);color:#fff;font-size:23px;line-height:1}
.gfsp-drop strong{font-size:13px}.gfsp-drop small{font-size:11px;color:var(--gfsp-muted)}
.gfsp-preview{position:relative;overflow:hidden;border:1px solid var(--gfsp-line);border-radius:9px;min-height:150px;background:var(--gfsp-deep)}.gfsp-preview[hidden]{display:none}
.gfsp-preview img{display:block;width:100%;height:clamp(150px,28vw,310px)!important;object-fit:contain}.gfsp .gfsp-remove{position:absolute;bottom:8px;right:8px;min-height:28px;padding:3px 9px!important;border:1px solid var(--gfsp-line)!important;border-radius:7px;background:rgba(10,0,32,.86)!important;color:#fff!important;cursor:pointer;font-size:11px!important}
.gfsp-caption{display:grid;gap:5px;font-size:12px;font-weight:700}.gfsp-caption textarea,.gfsp-comment-form textarea{display:block;width:100%;min-height:64px;padding:7px 9px!important;background:rgba(10,0,38,.25)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:8px;color:#fff!important;font:inherit;font-size:12px;resize:vertical}.gfsp-caption textarea::placeholder,.gfsp-comment-form textarea::placeholder{color:rgba(255,255,255,.46)}
.gfsp-upload-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--gfsp-muted);font-size:11px}.gfsp .gfsp-submit,.gfsp .gfsp-comment-form button{min-height:30px;padding:4px 12px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:7px;background:rgba(255,255,255,.1)!important;color:#fff!important;font:inherit;font-size:12px!important;font-weight:700;cursor:pointer}.gfsp .gfsp-submit:hover,.gfsp .gfsp-comment-form button:hover{background:rgba(255,255,255,.17)!important}.gfsp-submit:disabled,.gfsp-comment-form button:disabled{opacity:.6;cursor:wait}
.gfsp-message{margin:0;min-height:0;font-size:11px;color:#a4f2d0}.gfsp-message:empty{display:none}.gfsp-message.is-error,.gfsp-comment-status.is-error{color:#ffc2c2}
.gfsp-login{border:1px solid var(--gfsp-line);border-radius:10px;padding:10px;background:rgba(255,255,255,.04)}.gfsp-login a{color:#91d4ff!important}
.gfsp-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 8px}.gfsp-list-head h2{margin:0;font-size:17px}.gfsp-list-head span{font-size:11px;color:var(--gfsp-muted)}
.gfsp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gfsp-card{min-width:0;border:1px solid var(--gfsp-line);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.035)}
.gfsp .gfsp-image-open{display:block;width:100%;padding:0!important;border:0!important;border-radius:0!important;background:var(--gfsp-deep)!important;cursor:zoom-in}.gfsp-image-open img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:0!important}.gfsp-card-body{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:5px;padding:8px 9px}.gfsp-byline{width:100%;font-size:11px}.gfsp-description{width:100%;margin:0;color:rgba(255,255,255,.85);font-size:12px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.gfsp-actions{display:inline-flex;align-items:center;gap:5px}.gfsp .gfsp-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:37px;min-height:28px;padding:2px 4px!important;border:1px solid transparent!important;border-radius:6px;background:transparent!important;box-shadow:none!important;color:rgba(255,255,255,.82)!important;font:inherit;font-size:15px!important;line-height:1.2;cursor:pointer}.gfsp .gfsp-actions button:hover,.gfsp .gfsp-actions button[aria-pressed=true]{background:rgba(255,255,255,.08)!important;border-color:var(--gfsp-line)!important;color:#fff!important}.gfsp-actions button span{font-size:11px;color:var(--gfsp-muted)}
.gfsp .gfsp-comment-open{min-height:28px;margin:0;padding:2px 1px!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:#91d4ff!important;font:inherit;font-size:11px!important;cursor:pointer}.gfsp-comment-open span{color:var(--gfsp-muted)}
.gfsp-pages{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px;font-size:12px;color:var(--gfsp-muted)}.gfsp-pages a{color:#91d4ff!important}.gfsp-empty{font-size:12px;color:var(--gfsp-muted)}
.gfsp-toast{position:fixed;z-index:100001;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);padding:7px 11px;border:1px solid var(--gfsp-line);border-radius:8px;background:#1b0642;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.3);font-size:12px;text-align:center}.gfsp-toast[hidden]{display:none}
.gfsp-modal{width:min(94vw,960px);max-width:960px;max-height:min(90dvh,850px);padding:0;border:1px solid var(--gfsp-line);border-radius:12px;background:#240058;color:#fff;box-shadow:0 28px 100px rgba(0,0,0,.48);overflow:hidden}.gfsp-modal::backdrop{background:rgba(9,0,27,.82);backdrop-filter:blur(4px)}
.gfsp .gfsp-close{position:absolute;z-index:2;left:9px;top:9px;width:32px;height:32px;padding:0!important;border:0!important;border-radius:50%;background:rgba(0,0,0,.7)!important;color:#fff!important;font:inherit;font-size:24px!important;line-height:1;cursor:pointer}
.gfsp-modal-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);max-height:90dvh}.gfsp-modal-image{display:block;width:100%;height:100%;max-height:90dvh;object-fit:contain;background:#10002e}.gfsp-modal-info{min-width:0;overflow-y:auto;padding:13px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.gfsp-modal-name{font-size:13px}.gfsp-modal-description{margin:0;color:rgba(255,255,255,.88);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.gfsp-modal-actions{padding-bottom:7px;border-bottom:1px solid var(--gfsp-line);width:100%}
.gfsp-comments{width:100%}.gfsp-comments h3{font-size:13px;margin:0 0 6px}.gfsp-comments-list{max-height:240px;overflow-y:auto}.gfsp-comments-list article{padding:7px 0;border-bottom:1px solid var(--gfsp-line)}.gfsp-comments-list article div{display:flex;justify-content:space-between;gap:7px;font-size:11px}.gfsp-comments-list time{color:var(--gfsp-muted)}.gfsp-comments-list p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 0}.gfsp-comment-form{display:grid;gap:6px;margin-top:8px}.gfsp-comment-form textarea{min-height:54px}.gfsp-comment-form button{justify-self:start}.gfsp-comment-status{font-size:11px;color:#adf3d1;margin:6px 0 0}
.gfsp .gfsp-more{margin:7px 0 0;padding:2px 0!important;border:0!important;background:transparent!important;color:#91d4ff!important;font:inherit;font-size:11px!important;cursor:pointer}.gfsp-more[hidden]{display:none}.gfsp-login-comment a{color:#91d4ff!important}
.gfsp button:focus-visible,.gfsp a:focus-visible,.gfsp textarea:focus-visible{outline:2px solid #62c6ff;outline-offset:2px}
@media(max-width:760px){.gfsp{padding:6px 0 24px}.gfsp-standalone{padding-top:calc(var(--gfs-header-h,62px) + var(--wp-admin--admin-bar--height,0px) + 6px)}.gfsp-shell{width:calc(100% - 20px)}.gfsp-upload{gap:7px;padding:8px}.gfsp-drop{min-height:112px;padding:8px}.gfsp-preview{min-height:130px}.gfsp-preview img{height:180px!important}.gfsp-caption textarea{min-height:58px}.gfsp-grid{grid-template-columns:1fr;gap:10px}.gfsp-image-open img{aspect-ratio:4/5}.gfsp-card-body{padding:7px 8px}.gfsp-list-head{margin:14px 0 7px}.gfsp-list-head h2{font-size:15px}.gfsp-modal{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0}.gfsp-modal-layout{display:block;max-height:100dvh;height:100dvh;overflow-y:auto}.gfsp-modal-image{height:auto;max-height:56dvh;min-height:35dvh;object-fit:contain}.gfsp-modal-info{overflow:visible;padding:10px 11px 18px;gap:6px}.gfsp-comments-list{max-height:none}.gfsp-close{position:fixed;left:12px;top:12px}}
.gfsp-intro{margin:0 0 12px;padding:16px 18px;border:1px solid var(--gfsp-line);border-radius:12px;background:rgba(255,255,255,.055);color:#f8f3ff;text-align:right;line-height:1.85}
.gfsp-intro h1{margin:0 0 8px;color:#fff;font-size:clamp(18px,2.6vw,24px);line-height:1.5}
.gfsp-intro p{margin:5px 0;font-size:13px}
.gfsp-intro ul{margin:4px 0 8px;padding:0 22px;font-size:13px}
.gfsp-intro li{margin:3px 0}
.gfsp-intro .gfsp-intro-cta{margin-top:9px;font-weight:700;color:#d4eaff}
.gfsp-intro-details{margin-top:9px}.gfsp-intro-details summary{display:inline-block;cursor:pointer;color:#91d4ff;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.gfsp-intro-details summary::-webkit-details-marker{display:none}.gfsp-intro-details summary::marker{content:''}.gfsp-intro-details summary:focus-visible{outline:2px solid #62c6ff;outline-offset:3px}.gfsp-intro-details .gfsp-show-less{display:none}.gfsp-intro-details[open] .gfsp-show-more{display:none}.gfsp-intro-details[open] .gfsp-show-less{display:inline}.gfsp-intro-more{padding-top:8px}.gfsp-intro-more h2{margin:12px 0 3px;color:#fff;font-size:15px;line-height:1.6}
@media(max-width:760px){.gfsp-intro{padding:12px 13px;margin-bottom:10px}.gfsp-intro p,.gfsp-intro ul{font-size:12px}}
.gfsp-uploaded{padding:17px 15px;border:1px solid var(--gfsp-line);border-radius:12px;background:rgba(255,255,255,.06);font-size:13px;color:#d7f6e7}
.gfsp-caption input[type=text]{display:block;width:100%;min-height:36px;padding:7px 9px!important;background:rgba(10,0,38,.25)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:8px;color:#fff!important;font:inherit;font-size:12px}.gfsp-caption input[type=text]::placeholder{color:rgba(255,255,255,.46)}
.gfsp .gfsp-image-open{position:relative;aspect-ratio:1/1;overflow:hidden}.gfsp .gfsp-image-open img{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto;object-fit:cover}
.gfsp-card-body{min-height:82px;align-content:start}.gfsp-byline{display:grid;gap:2px;min-height:38px}.gfsp-byline strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;overflow-wrap:anywhere}.gfsp-byline span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gfsp-muted)}
.gfsp-modal-title{font-size:16px}.gfsp-modal-description[hidden]{display:none}.gfsp-modal-details{width:100%;margin:0;display:grid;gap:5px}.gfsp-modal-details div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--gfsp-line);padding:4px 0}.gfsp-modal-details dt{color:var(--gfsp-muted);font-size:11px}.gfsp-modal-details dd{margin:0;text-align:left;font-size:12px;overflow-wrap:anywhere}
@media(max-width:760px){.gfsp .gfsp-image-open{aspect-ratio:4/5}.gfsp-card-body{min-height:78px}}
.gfsp-sort{display:flex;gap:7px;margin:0 0 10px}.gfsp-sort a{padding:5px 11px;border:1px solid var(--gfsp-line);border-radius:8px;color:#fff!important;font-size:12px;text-decoration:none}.gfsp-sort a[aria-current=page]{background:#fff;color:var(--gfsp-bg)!important;font-weight:700}
@media(max-width:760px){.gfsp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.gfsp-card{border:0;border-radius:0;background:transparent}.gfsp-card-body{display:none}.gfsp .gfsp-image-open{aspect-ratio:1/1;cursor:pointer}.gfsp .gfsp-image-open img{object-fit:cover}.gfsp-sort{margin-bottom:8px}}
.gfsp-image-frame{position:relative;min-width:0}
.gfsp-image-frame>.gfsp-actions{position:absolute;z-index:2;top:8px;right:8px;max-width:calc(100% - 16px)}
.gfsp .gfsp-image-frame>.gfsp-actions button,.gfsp .gfsp-modal-actions .gfsp-actions button{min-height:34px;padding:4px 9px!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:999px;background:rgba(23,0,53,.78)!important;color:#fff!important;backdrop-filter:blur(5px)}
.gfsp .gfsp-image-frame>.gfsp-actions button[aria-pressed=true],.gfsp .gfsp-modal-actions .gfsp-actions button[aria-pressed=true]{background:rgba(148,13,72,.94)!important;border-color:#ff9ac2!important}
.gfsp .gfsp-actions button[data-locked="1"]{cursor:not-allowed;opacity:1!important}.gfsp .gfsp-actions button[data-locked="1"]::after{content:'🔒';font-size:10px}
.gfsp .gfsp-image-frame>.gfsp-actions button span,.gfsp .gfsp-modal-actions .gfsp-actions button span{color:#fff}
.gfsp-modal{position:relative}.gfsp-modal-actions{position:absolute;z-index:5;top:12px;right:12px;width:auto;padding:0;border:0}
.gfsp .gfsp-modal-actions .gfsp-actions button{min-height:40px;font-size:18px!important}
.gfsp .gfsp-nav{position:absolute;z-index:4;top:45%;width:36px;height:44px;padding:0!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:8px;background:rgba(24,0,56,.75)!important;color:#fff!important;font-size:30px!important;line-height:1!important;cursor:pointer}
.gfsp .gfsp-nav-prev{right:10px}.gfsp .gfsp-nav-next{left:10px}
@media(max-width:760px){.gfsp-image-frame>.gfsp-actions{top:4px;right:4px;max-width:calc(100% - 8px)}.gfsp .gfsp-image-frame>.gfsp-actions button{min-width:0;min-height:26px;padding:2px 5px!important;gap:2px;font-size:12px!important}.gfsp .gfsp-image-frame>.gfsp-actions button span{font-size:10px}.gfsp-modal-actions{top:12px;right:10px}.gfsp .gfsp-nav{top:27%;width:30px;height:40px;font-size:24px!important}}
.gfsp-load{min-height:60px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gfsp-muted);font-size:13px}.gfsp-load-retry{border:1px solid var(--gfsp-line);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:8px 16px;cursor:pointer}.gfsp-load [hidden]{display:none!important}
.gfsp-reward{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;margin:12px 0;border:1px solid var(--gfsp-line);border-radius:12px;background:rgba(255,255,255,.05)}.gfsp-claim{border:0;border-radius:9px;padding:9px 16px;background:#ffe600;color:#240058;font:inherit;font-weight:700;cursor:pointer}.gfsp-claim:disabled{opacity:.5;cursor:default}.gfsp-reward-status{font-size:12px}.gfsp-reward-status.is-error{color:#ffb4b4}
/* Announced photography contest winners. */
.gfsp-winners{margin:0 0 28px;padding:clamp(18px,4vw,36px);border:1px solid #ffffff26;border-radius:24px;background:linear-gradient(135deg,#ffffff12,#ffffff05);box-shadow:0 8px 30px #0000000d;color:inherit}.gfsp-winners-eyebrow{color:#ffd451;font-size:13px}.gfsp-winners h2{margin:8px 0;font-size:clamp(22px,4vw,32px)}.gfsp-winners h3{margin:26px 0 8px}.gfsp-winners-list{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gfsp-winners-list li{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:#ffffff09;border:1px solid #ffffff12}.gfsp-winner-name{font-weight:700;overflow-wrap:anywhere}.gfsp-winner-prize{font-size:13px;color:#ffd451}@media(max-width:850px){.gfsp-winners-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.gfsp-winners-list{grid-template-columns:1fr}.gfsp-winners-list li{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.gfsp-winner-prize{white-space:nowrap}}
/* Sponsor (Okala) + winner thumbnails — 2026-10-18 */
.gfsp-sponsor{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:10px 14px;border-radius:16px;background:#fff;color:#2b2b3a;font-size:15px;line-height:1.7;box-shadow:0 6px 18px #0000001a}
.gfsp-sponsor b{color:#f01436}
.gfsp-sponsor-logo{flex:none;display:grid;place-items:center;width:64px;height:40px}
.gfsp-sponsor-logo img{max-width:100%;max-height:100%;display:block}
.gfsp-winners-list li{flex-direction:row!important;align-items:center;gap:12px}
.gfsp-winner-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.gfsp-winner-thumb{flex:none;width:52px;height:52px;border-radius:12px;overflow:hidden;border:2px solid #ffd45166;background:#ffffff14}
.gfsp-winner-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:480px){.gfsp-sponsor{font-size:13px}.gfsp-winner-thumb{width:46px;height:46px}.gfsp-winner-text{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}}

/* Later contests (photo or drawing): upload heading and linked sponsor bar. */
.gfsp-upload-title{margin:0;color:#fff;font-size:16px;line-height:1.6}
a.gfsp-sponsor{text-decoration:none!important;color:#2b2b3a!important}
a.gfsp-sponsor:hover,a.gfsp-sponsor:focus-visible{box-shadow:0 6px 22px #00000033;outline:2px solid #91d4ff;outline-offset:2px}
.gfsp-shell>.gfsp-sponsor{margin-bottom:12px}
@media(max-width:760px){.gfsp-upload-title{font-size:14px}}
/* Video entries (video and photo+video contests): poster with a play badge, player in the modal and the upload preview. */
.gfsp-play{position:absolute;z-index:1;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:-26px 0 0 -26px;padding-left:4px;border-radius:50%;background:rgba(10,0,32,.66);border:2px solid rgba(255,255,255,.85);color:#fff;font-size:20px;line-height:1;pointer-events:none;box-sizing:border-box}
.gfsp-modal-video{display:block;width:100%;height:100%;max-height:90dvh;object-fit:contain;background:#10002e}.gfsp-modal-video[hidden],.gfsp-modal-image[hidden],.gfsp-preview video[hidden],.gfsp-preview img[hidden]{display:none}
.gfsp-preview video{display:block;width:100%;height:clamp(150px,28vw,310px);object-fit:contain;background:#10002e}
@media(max-width:760px){.gfsp-play{width:34px;height:34px;margin:-17px 0 0 -17px;font-size:13px;padding-left:3px}.gfsp .gfsp-modal.is-video .gfsp-nav{top:12%}.gfsp-modal-video{height:auto;max-height:56dvh;min-height:35dvh}.gfsp-preview video{height:180px}}
