/**
 * Google Reviews (ptpgooglereviews) - own widget
 *
 * @author    Patripe
 * @copyright 2026 Patripe
 * @license   MIT, see LICENSE.md
 */
/* No !important here: the rules that need it are in themes/warehouse.css (compatibility mode). */
#ptp-googlereviews { position: fixed; z-index: 1020; width: 184px; font-family: inherit; line-height: 1.3; text-align: left; box-sizing: border-box; }
#ptp-googlereviews *, #ptp-googlereviews *::before, #ptp-googlereviews *::after { box-sizing: border-box; }
#ptp-googlereviews.ptp-googlereviews--right { right: 16px; }
#ptp-googlereviews.ptp-googlereviews--left { left: 16px; }
#ptp-googlereviews.ptp-googlereviews--google { width: auto; min-width: 184px; max-width: 320px; }

#ptp-googlereviews .ptp-googlereviews__wrap { position: relative; overflow: hidden; background: #fff; border-radius: 10px; box-shadow: 0 6px 24px rgba(0, 0, 0, .18), 0 1px 3px rgba(0, 0, 0, .12); }
#ptp-googlereviews .ptp-googlereviews__card { display: block; position: relative; color: #1f2937; text-decoration: none; }
#ptp-googlereviews a.ptp-googlereviews__card:hover .ptp-googlereviews__more { text-decoration: underline; }

#ptp-googlereviews .ptp-googlereviews__head { display: block; padding: 12px 12px 10px; text-align: center; color: #fff; background: var(--ptp-gr-c, #1f2937); }
#ptp-googlereviews .ptp-googlereviews__title { display: block; margin: 0 18px 7px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
#ptp-googlereviews .ptp-googlereviews__stars { display: inline-flex; gap: 2px; vertical-align: middle; }
#ptp-googlereviews .ptp-googlereviews__star { position: relative; display: inline-block; width: 22px; height: 22px; }
#ptp-googlereviews .ptp-googlereviews__layer { display: block; line-height: 0; }
#ptp-googlereviews .ptp-googlereviews__layer--base { color: rgba(255, 255, 255, .3); }
#ptp-googlereviews .ptp-googlereviews__layer--fill { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; color: var(--ptp-gr-s, #f5b301); }
#ptp-googlereviews .ptp-googlereviews__layer svg { display: block; width: 22px; height: 22px; max-width: none; }
/* Star designs of ptpstarratings: boxed stars have an inner star */
#ptp-googlereviews .ptp-googlereviews__layer--base .ptp-starratings__in { fill: var(--ptp-gr-c, #1f2937); }
#ptp-googlereviews .ptp-googlereviews__layer--fill .ptp-starratings__in { fill: #fff; }

#ptp-googlereviews .ptp-googlereviews__body { display: block; padding: 10px 12px 11px; text-align: center; }
#ptp-googlereviews .ptp-googlereviews__score { display: block; font-size: 15px; color: #1f2937; }
#ptp-googlereviews .ptp-googlereviews__score strong { margin-right: 4px; font-weight: 700; }
#ptp-googlereviews .ptp-googlereviews__score b { font-size: 20px; font-weight: 800; }
#ptp-googlereviews .ptp-googlereviews__count { display: block; margin-top: 2px; font-size: 12px; color: #4b5563; }
#ptp-googlereviews .ptp-googlereviews__note { display: block; margin-top: 5px; font-size: 10.5px; line-height: 1.25; color: #6b7280; }
#ptp-googlereviews .ptp-googlereviews__more { display: inline-block; margin-top: 7px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ptp-gr-c, #1f2937); }

#ptp-googlereviews .ptp-googlereviews__google { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 6px; padding: 9px 6px 8px; overflow: hidden; text-align: center; background: #fff; border-top: 1px solid #e5e7eb; }
#ptp-googlereviews .ptp-googlereviews__google.is-on { display: flex; }
#ptp-googlereviews .ptp-googlereviews__glabel { display: block; font-size: 11px; line-height: 1.25; color: #4b5563; }
#ptp-googlereviews .ptp-googlereviews__glabel b { font-weight: 700; color: #1f2937; }
#ptp-googlereviews .ptp-googlereviews__gbox { display: flex; justify-content: center; min-height: 0; }

#ptp-googlereviews .ptp-googlereviews__close { position: absolute; top: 5px; right: 5px; z-index: 2; width: 22px; height: 22px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .18); color: #fff; font: 600 15px/22px Arial, sans-serif; text-align: center; cursor: pointer; box-shadow: none; }
#ptp-googlereviews .ptp-googlereviews__close:hover { background: rgba(0, 0, 0, .35); }
#ptp-googlereviews .ptp-googlereviews__tab { display: none; align-items: center; gap: 6px; margin: 0; padding: 8px 12px; border: 0; border-radius: 22px; background: var(--ptp-gr-c, #1f2937); color: #fff; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; box-shadow: 0 4px 16px rgba(0, 0, 0, .22); }
#ptp-googlereviews .ptp-googlereviews__tab-star { display: inline-block; width: 18px; height: 18px; line-height: 0; color: var(--ptp-gr-s, #f5b301); }
#ptp-googlereviews .ptp-googlereviews__tab-star svg { display: block; width: 18px; height: 18px; }
#ptp-googlereviews.ptp-googlereviews--left .ptp-googlereviews__tab { float: left; }
#ptp-googlereviews.ptp-googlereviews--right .ptp-googlereviews__tab { float: right; }
#ptp-googlereviews.is-min { width: auto; min-width: 0; }
#ptp-googlereviews.is-min .ptp-googlereviews__wrap { display: none; }
#ptp-googlereviews.is-min .ptp-googlereviews__tab { display: inline-flex; }

#ptp-googlereviews .ptp-googlereviews__close:focus-visible,
#ptp-googlereviews .ptp-googlereviews__tab:focus-visible,
#ptp-googlereviews a.ptp-googlereviews__card:focus-visible { outline: 2px solid #1f2937; outline-offset: 2px; }

@media (max-width: 767px) {
  #ptp-googlereviews.ptp-googlereviews--m-hide { display: none; }
  #ptp-googlereviews { width: 160px; }
  #ptp-googlereviews.ptp-googlereviews--right { right: 10px; }
  #ptp-googlereviews.ptp-googlereviews--left { left: 10px; }
}
@media print {
  #ptp-googlereviews { display: none; }
}
