/* ig-reviews: quiet styles that inherit the theme's type and colour. Block .ig-reviews, elements .igr__* */

.ig-reviews { max-width: 42rem; margin: 0; } /* left-aligned with the page title */
.ig-reviews .igr__intro,
.ig-reviews .igr__hint,
.ig-reviews .igr__disclosure { margin: 0 0 1em; }
.ig-reviews .igr__disclosure { margin-top: 1em; }
.ig-reviews .igr__small { font-size: .875em; margin: .25em 0 0; opacity: .85; }
.ig-reviews .igr__notice { padding: .75em 1em; border-left: 3px solid currentColor; margin: 0 0 1em; }

/* errors */
.ig-reviews .igr__errors { padding: .75em 1em; border: 2px solid #b42318; margin: 0 0 1em; }
.ig-reviews .igr__errors:focus { outline: 3px solid #b42318; outline-offset: 2px; }
.ig-reviews .igr__errors ul { margin: .5em 0 0 1.2em; }
.ig-reviews .igr__field-error { color: #b42318; margin: .25em 0 0; font-weight: 600; }
.ig-reviews [aria-invalid="true"] { outline: 2px solid #b42318; }

/* items */
.ig-reviews .igr__item { position: relative; border: 1px solid rgba(0, 0, 0, .15); border-radius: 6px; padding: 1em; margin: 0 0 1.25em; }
.ig-reviews .igr__legend { font-weight: 600; padding: 0 .25em; }
.ig-reviews .igr__thumb { float: right; width: 64px; height: 64px; object-fit: cover; margin: 0 0 .5em .75em; border-radius: 4px; }
.ig-reviews .igr__scale { font-size: .875em; margin: 0 0 .5em; }

/* stars: real radios, labels >= 44x44 with a visible focus ring; no default and no emphasis */
.ig-reviews .igr__stars { display: flex; flex-wrap: wrap; gap: .25em; }
.ig-reviews .igr__radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ig-reviews .igr__star { display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
	min-width: 44px; min-height: 44px; padding: .25em; border: 1px solid rgba(0, 0, 0, .25); border-radius: 6px; cursor: pointer; line-height: 1.1; }
.ig-reviews .igr__glyph { color: #B7791F; font-size: 1.25em; }
.ig-reviews .igr__num { font-size: .8em; }
.ig-reviews .igr__radio:checked + .igr__star { border-width: 2px; border-color: currentColor; font-weight: 700; }
.ig-reviews .igr__radio:focus-visible + .igr__star { outline: 3px solid currentColor; outline-offset: 2px; }
.ig-reviews .igr__chosen { min-height: 1.4em; margin: .25em 0 .75em; font-size: .875em; }
/* Phones: start the stars below the floated product image so all five fit on one row. */
@media (max-width: 480px) { .ig-reviews .igr__stars { clear: both; } }

.ig-reviews .igr__label { display: block; font-weight: 600; margin: .5em 0 .25em; }
.ig-reviews textarea,
.ig-reviews input[type="text"] { width: 100%; box-sizing: border-box; font: inherit; padding: .5em; }

/* honeypot: off-screen, not display:none (some bots skip hidden fields) */
.ig-reviews .igr__hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.ig-reviews .igr__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* buttons: the theme styles only its own button selectors, so ours look like "Add to cart" (theme tokens, fallbacks) */
.ig-reviews .igr__submit,
.ig-reviews .igr--optout button,
.ig-reviews .igr__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: .5em;
	padding: 0 1.5em; border: 0; border-radius: var(--r-sm, 4px); background: var(--brown-800, #3b2418); color: var(--paper, #fbf7ef);
	font: 600 1rem/1.2 var(--font-ui, inherit); letter-spacing: .02em; text-decoration: none; cursor: pointer; }
.ig-reviews .igr__submit:hover,
.ig-reviews .igr--optout button:hover,
.ig-reviews .igr__button:hover { background: var(--orange-600, #e4621f); color: var(--paper, #fbf7ef); }
.ig-reviews .igr__submit:disabled { opacity: .7; cursor: progress; }
.ig-reviews .igr__submit:focus-visible,
.ig-reviews .igr--optout button:focus-visible,
.ig-reviews .igr__copy:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
@media (max-width: 600px) { .ig-reviews .igr__submit, .ig-reviews .igr--optout button { width: 100%; } }

/* thank-you */
.ig-reviews .igr__codebox { border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; padding: 1em; margin: 1em 0; }
.ig-reviews .igr__codebox p { margin: 0 0 .6em; }
.ig-reviews .igr__code { font-size: 1.4em; letter-spacing: .08em; font-weight: 700; }
.ig-reviews .igr__code-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5em .75em; }
.ig-reviews .igr__copy { min-height: 44px; padding: 0 1em; background: transparent; color: inherit;
	border: 1px solid currentColor; border-radius: var(--r-sm, 4px); font: 600 .9375rem/1.2 var(--font-ui, inherit); cursor: pointer; }
.ig-reviews .igr__rules { font-size: .875em; }
.ig-reviews .igr__external { border-top: 1px solid rgba(0, 0, 0, .2); margin-top: 2em; padding-top: 1em; }
.ig-reviews .igr__external h3 { font-size: 1em; margin: 0 0 .5em; }

/* product page (only this stylesheet loads there): one-liners in the theme colour, never hidden; the incentive
   line at the review text's size, set apart from the reviewer's words; the notice as a quiet note */
.igr__badge { font-size: .875em; font-weight: 600; margin: .25em 0; }
.igr__incentive { font-size: .875rem; font-style: italic; margin: 0; padding-top: .5em; } /* padding: the theme zeroes review paragraph margins */
.igr__notice { font-size: .875rem; line-height: 1.5; padding: .75em 1em; border-left: 3px solid currentColor; margin: 0 0 1.25em; }
.ig-reviews .igr__packs-title { margin: 1em 0 .25em; font-weight: 600; }
.ig-reviews .igr__packs { margin: 0 0 .75em 1.25em; padding: 0; list-style: disc; }
.ig-reviews .igr__packs li { margin: 0 0 .25em; }
