/* Gravini Fotorecenze */
.gfr-wrap{max-width:720px;margin:0 auto;font-size:16px}
.gfr-hero{text-align:center;margin:0 0 24px}
.gfr-hero h2{margin:0 0 6px}
.gfr-hero p{margin:0;font-size:18px;opacity:.8}
.gfr-btn{display:inline-block;background:var(--gfr-accent,#2b2b2b);color:#fff!important;border:0;border-radius:8px;padding:14px 28px;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none!important;transition:opacity .2s}
.gfr-btn:hover{opacity:.88}
.gfr-btn[disabled]{opacity:.5;cursor:wait}
.gfr-notice,.gfr-error{padding:14px 18px;border-radius:8px;background:#f5f5f5;margin:0 0 20px}
.gfr-error{background:#fdecea;color:#8a1f11}
.gfr-thanks{text-align:center;padding:32px 16px}
.gfr-thanks-icon{width:64px;height:64px;line-height:64px;border-radius:50%;background:var(--gfr-accent,#2b2b2b);color:#fff;font-size:32px;margin:0 auto 12px}

.gfr-item{border:1px solid #e6e6e6;border-radius:12px;padding:18px;margin:0 0 18px;background:#fff}
.gfr-item-head{display:flex;align-items:center;gap:14px;margin:0 0 12px}
.gfr-item-head img{width:64px!important;height:64px!important;object-fit:cover;border-radius:8px;margin:0!important}
.gfr-item-done{margin:0;color:#2e7d32}
.gfr-field{margin:0 0 14px}
.gfr-label{display:block;font-weight:600;margin:0 0 6px}
.gfr-form textarea,.gfr-form input[type=text]{width:100%;box-sizing:border-box;border:1px solid #d6d6d6;border-radius:8px;padding:10px 12px;font:inherit}

.gfr-stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.gfr-stars input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.gfr-stars label{font-size:34px;line-height:1;color:#d9d9d9;cursor:pointer;transition:color .15s;margin:0}
.gfr-stars input:checked ~ label,.gfr-stars label:hover,.gfr-stars label:hover ~ label{color:#f5a623}

.gfr-upload{display:block;border:2px dashed #cfcfcf;border-radius:10px;padding:18px;text-align:center;cursor:pointer;transition:border-color .2s}
.gfr-upload:hover{border-color:var(--gfr-accent,#2b2b2b)}
.gfr-upload input{position:absolute;opacity:0;width:1px;height:1px}
.gfr-upload span{font-weight:600}
.gfr-upload small{font-weight:400;opacity:.7}
.gfr-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gfr-prev{position:relative;width:80px;height:80px}
.gfr-prev img{width:80px;height:80px;object-fit:cover;border-radius:8px;display:block}
.gfr-prev button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#000;color:#fff;font-size:13px;line-height:22px;padding:0;cursor:pointer}
.gfr-prev.is-loading{background:#f0f0f0;border-radius:8px}
.gfr-consent{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;font-size:14px}
.gfr-consent input{margin-top:3px}
.gfr-submit{width:100%}

/* zobrazení */
.gfr-photos{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.gfr-photos a{display:block}
.gfr-photos img.gfr-thumb{width:84px;height:84px;object-fit:cover;border-radius:8px;display:block;margin:0}
.gfr-strip{margin:24px 0;clear:both}
.gfr-strip h3{margin:0 0 8px}
.gfr-widget{margin:32px 0}
.gfr-widget-title{text-align:center}
.gfr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.gfr-card{border:1px solid #ececec;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.gfr-card-photo{position:relative;aspect-ratio:1/1;background:#f5f5f5}
.gfr-card-photo a{display:block;height:100%}
.gfr-card-photo img{width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0}
.gfr-count{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.65);color:#fff;font-size:13px;padding:2px 8px;border-radius:10px}
.gfr-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.gfr-card-text{margin:0;font-size:14px;line-height:1.5}
.gfr-card-meta{font-size:13px;opacity:.75;display:flex;flex-direction:column;margin-top:auto}
.gfr-author{font-weight:600}
.gfr-product{color:inherit;text-decoration:underline}
.gfr-reply{font-size:13px;background:#f7f7f7;border-radius:8px;padding:8px 10px}
.gfr-stars-view .on{color:#f5a623}.gfr-stars-view .off{color:#ddd}
.gfr-like{align-self:flex-start;border:1px solid #e3e3e3;background:#fff;border-radius:20px;padding:4px 12px;font-size:14px;cursor:pointer;color:#999;transition:all .2s}
.gfr-like:hover,.gfr-like.is-liked{color:#e0245e;border-color:#f3b6c8}
.gfr-more-wrap{text-align:center;margin-top:20px}

/* lightbox */
.gfr-lb{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:999999;display:flex;align-items:center;justify-content:center}
.gfr-lb img{max-width:92vw;max-height:88vh;border-radius:6px}
.gfr-lb button{position:absolute;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;padding:10px 16px;line-height:1}
.gfr-lb .x{top:10px;right:10px}.gfr-lb .p{left:6px;top:50%;transform:translateY(-50%)}.gfr-lb .n{right:6px;top:50%;transform:translateY(-50%)}
