/*
 * foodloose guest reviews
 * Colors, fonts and radii come from the Shopware theme at runtime (Bootstrap 5.3 CSS variables),
 * buttons, fields and alerts use the theme's own components. A rebranding therefore applies automatically.
 * The fallbacks after the commas only matter for themes without Bootstrap variables.
 */
.flgr-host{max-width:760px;margin:0 auto;color:inherit}
.flgr-widget{padding:1.75rem 0}
.flgr-widget *{box-sizing:border-box}
.flgr-widget p{margin:0 0 .875rem}
.flgr-intro{max-width:34rem;margin-bottom:1.75rem}
.flgr-eyebrow{color:var(--bs-primary-text-emphasis,currentColor);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem!important}
.flgr-heading{margin:0 0 1rem}

/* Product choice: 2 per row on phones, 4 from tablet width */
.flgr-search{display:flex;align-items:stretch;gap:.5rem;margin-bottom:1rem}
.flgr-search .form-control{flex:1 1 auto;width:1%;min-width:0}
/* The button keeps its natural width; themes that truncate .btn text (ellipsis) would otherwise show "Suc..." */
.flgr-search .btn{flex:0 0 auto;white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none}
.flgr-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:768px){.flgr-products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.flgr-product{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;text-align:center;text-decoration:none;font-weight:600;line-height:1.3;overflow-wrap:anywhere;
  color:var(--bs-body-color,inherit);background:var(--bs-body-bg,#fff);border:var(--bs-border-width,1px) solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius-lg,.5rem);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.flgr-product:hover,.flgr-product:focus-visible{color:var(--bs-body-color,inherit);border-color:var(--bs-primary,currentColor);transform:translateY(-2px);box-shadow:var(--bs-box-shadow-sm,0 .125rem .25rem rgba(0,0,0,.075))}
.flgr-product.is-selected{border-color:var(--bs-primary,currentColor);box-shadow:inset 0 0 0 1px var(--bs-primary,currentColor);background:var(--bs-primary-bg-subtle,transparent)}
/* Square image box filled by the image, so the rounded corners are actually visible */
.flgr-product img{display:block;width:100%;max-width:140px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--bs-border-radius-lg,.5rem)}
.flgr-product small{font-size:.75rem;font-weight:400;color:var(--bs-secondary-color,inherit)}
.flgr-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;max-width:140px;aspect-ratio:1/1;border-radius:var(--bs-border-radius-lg,.5rem);background:var(--bs-tertiary-bg,#f8f9fa);color:var(--bs-secondary-color,inherit);font-size:.875rem}
.flgr-pagination{display:flex;justify-content:center;align-items:center;gap:1.25rem;margin:1.25rem 0;flex-wrap:wrap;font-size:.875rem}

/* Review form */
.flgr-review-section{border-top:var(--bs-border-width,1px) solid var(--bs-border-color,#dee2e6);margin-top:1.75rem;padding-top:1.5rem}
.flgr-field{margin-top:1rem}
.flgr-rating{border:0;padding:0;margin:0 0 .5rem;min-width:0}
.flgr-rating legend{float:none;width:auto;font-size:inherit;margin-bottom:.25rem}
.flgr-stars{display:flex;gap:.125rem}
/*
 * Stars: Shopware's outline star in the text color sits on top of the solid star in the review color
 * (theme variable $icon-review-color). The outline keeps every star visible on any background
 * (WCAG 1.4.11, 3:1 for controls); selected stars are additionally filled, the status text names the rating.
 * Touch target about 37px.
 */
.flgr-star{display:inline-flex;padding:.25rem;cursor:pointer;border-radius:var(--bs-border-radius-pill,50rem)}
.flgr-star-icon{position:relative;display:inline-flex}
.flgr-star-fill{position:absolute;inset:0;display:inline-flex;transition:opacity .1s ease}
.flgr-star-outline{position:relative;display:inline-flex}
.flgr-star-outline .icon{color:var(--bs-body-color,currentColor)}
.flgr-star:not(.is-filled) .flgr-star-fill{opacity:0}
/* Also correct without JavaScript: the checked star and all before it are filled */
.flgr-star:has(input:checked) .flgr-star-fill,.flgr-star:has(~ .flgr-star input:checked) .flgr-star-fill{opacity:1}
@media (hover:hover){
  .flgr-stars:hover .flgr-star .flgr-star-fill{opacity:0}
  .flgr-stars .flgr-star:hover .flgr-star-fill,.flgr-stars .flgr-star:has(~ .flgr-star:hover) .flgr-star-fill{opacity:1}
}
.flgr-star:has(input:focus-visible){outline:2px solid var(--bs-primary,currentColor);outline-offset:1px}
.flgr-rating-status{margin:.25rem 0 0!important}
.flgr-widget .flgr-note{margin-top:1rem}
.flgr-privacy{margin-top:1rem}
.flgr-captcha{margin-top:1rem}
.flgr-captcha .row{margin-left:0;margin-right:0}
.flgr-submit{margin-top:1.25rem}
@media (max-width:575.98px){.flgr-submit{width:100%}}
.flgr-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Messages and side boxes */
.flgr-success{margin-bottom:1.25rem}
.flgr-success .alert{margin-bottom:1rem}
.flgr-optional{font-weight:400;color:var(--bs-secondary-color,inherit)}
/* Loading: content dims but stays clickable, a newer click replaces the running request */
.flgr-host[aria-busy="true"]{cursor:progress}
.flgr-host[aria-busy="true"] .flgr-widget{opacity:.6;transition:opacity .2s ease .15s}
.flgr-contact{padding:1.25rem;margin-top:1.75rem;border-radius:var(--bs-border-radius-lg,.5rem);background:var(--bs-secondary-bg-subtle,var(--bs-tertiary-bg,#f8f9fa))}
.flgr-contact .flgr-note{margin-bottom:0}
.flgr-amazon{margin-top:1.5rem}
.flgr-compact{padding:.75rem 0}
.flgr-compact .flgr-review-section{border:0;margin:0;padding:0}
.flgr-loading{font-size:.875rem}
.flgr-fallback{padding:1rem 0}
.flgr-fallback p{margin:0 0 .75rem}
.flgr-fallback[hidden],.flgr-loading[hidden]{display:none!important}
.flgr-noscript-link{margin:0 0 1rem}

/* Transparency notice below the review count (product page) */
.flgr-review-notice{font-size:.8125rem;color:var(--bs-secondary-color,inherit);margin:0 0 .75rem}
.flgr-review-notice summary{display:inline-block;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.2em}
.flgr-review-notice summary::-webkit-details-marker{display:none}
.flgr-review-notice summary::before{content:"ⓘ";display:inline-block;margin-right:.3em;text-decoration:none}
.flgr-review-notice[open] summary{margin-bottom:.35rem}
.flgr-review-notice p{margin:0;max-width:44rem}
