/* Review notes widget (pages.yzr.ca only). Internal tool styling, same family as the grey review bar. */
.rn-fab { position: fixed; right: 16px; bottom: 16px; z-index: 1002; display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 1rem;
  border: 1px solid rgba(14, 42, 71, .25); border-radius: 999px; background: #ECEAE4; color: #0E2A47; font: 600 .875rem/1 var(--sans, system-ui, sans-serif);
  box-shadow: 0 6px 20px rgba(14, 42, 71, .18); cursor: pointer; transition: right .2s ease; }
.rn-fab:hover { background: #fff; }
.rn-fab:focus-visible, .rn-panel :focus-visible { outline: 2px solid #0E2A47; outline-offset: 2px; }
.rn-count { min-width: 1.4rem; padding: .15rem .35rem; border-radius: 999px; background: #0E2A47; color: #fff; font-size: .75rem; text-align: center; }
.rn-open .rn-fab { background: #fff; border-color: #0E2A47; box-shadow: 0 6px 24px rgba(0, 0, 0, .35); }
.rn-panel [hidden] { display: none !important; }
@media (min-width: 48rem) { .rn-open .rn-fab { right: calc(min(440px, 100vw) + 16px); } } /* next to the open panel */
@media (max-width: 59.99rem) { .rn-fab { bottom: 92px; } .rn-open .rn-fab { bottom: 16px; } } /* above the mobile booking bar */
.rn-panel { position: fixed; inset: 0 0 0 auto; z-index: 1001; width: min(440px, 100vw); height: 100dvh; max-height: none; margin: 0; padding: 1.25rem 1.25rem 5.5rem;
  overflow-y: auto; border: 0; border-left: 1px solid rgba(14, 42, 71, .15); background: #FAF8F4; color: #1F2A33; box-shadow: -12px 0 40px rgba(14, 42, 71, .18);
  font: 400 .9375rem/1.5 var(--sans, system-ui, sans-serif); }
.rn-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rn-head h2 { margin: 0; font: 500 1.5rem/1.2 var(--serif, Georgia, serif); color: #0E2A47; }
.rn-close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #0E2A47; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.rn-close:hover { background: #ECEAE4; }
.rn-who, .rn-form { display: grid; gap: .85rem; margin-top: 1rem; }
.rn-who p { margin: 0; }
.rn-user { margin: .5rem 0 0; font-size: .8125rem; color: #5B6570; }
.rn-help { margin: 0; color: #5B6570; font-size: .8125rem; }
.rn-panel label { display: grid; gap: .3rem; font-weight: 600; font-size: .8125rem; color: #0E2A47; }
.rn-panel select, .rn-panel textarea, .rn-panel input:not([type=checkbox]) { width: 100%; padding: .6rem .7rem; border: 1px solid rgba(14, 42, 71, .3); border-radius: 4px;
  background: #fff; color: #1F2A33; font: 400 1rem/1.4 var(--sans, system-ui, sans-serif); }
.rn-panel textarea { resize: vertical; min-height: 6rem; }
.rn-quote { padding: .6rem .75rem; border-left: 3px solid #C8A46B; background: #fff; font-size: .8125rem; }
.rn-quote span { font-weight: 600; color: #6B5A33; }
.rn-quote blockquote { margin: .3rem 0; font-style: italic; color: #333; }
.rn-link { min-height: 24px; padding: 0; border: 0; background: none; color: #0E2A47; font: inherit; text-decoration: underline; cursor: pointer; }
.rn-hp { position: absolute; left: -9999px; }
.rn-status { min-height: 1.2em; margin: 0; font-size: .8125rem; color: #2F5A2A; }
.rn-save { min-height: 44px; padding: 0 1rem; border: 0; border-radius: 4px; background: #0E2A47; color: #fff; font: 600 .9375rem/1 var(--sans, system-ui, sans-serif); cursor: pointer; }
.rn-save.rn-small { min-height: 36px; font-size: .8125rem; }
.rn-save:disabled { opacity: .6; }
.rn-list-title { margin: 1.75rem 0 .5rem; font: 600 .75rem/1.3 var(--sans, system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: #6B5A33; }
.rn-list-count { letter-spacing: 0; text-transform: none; font-weight: 500; color: #5B6570; }
.rn-list { margin: 0; padding: 0; list-style: none; }
.rn-list li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .6rem; padding: .8rem 0; border-top: 1px solid rgba(14, 42, 71, .12); }
.rn-check { width: 1.25rem; height: 1.25rem; margin: .15rem 0 0; accent-color: #2F5A2A; cursor: pointer; }
.rn-goto { display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; color: #6B5A33; font: italic 500 .875rem/1.4 var(--serif, Georgia, serif);
  text-decoration: underline; text-decoration-color: rgba(200, 164, 107, .6); text-underline-offset: .2em; cursor: pointer; }
.rn-goto:hover { color: #0E2A47; }
.rn-meta { margin: .25rem 0; font-size: .75rem; color: #5B6570; }
.rn-text { display: block; width: 100%; margin: 0; padding: .15rem .25rem; border: 1px solid transparent; border-radius: 3px; background: none; text-align: left; color: #1F2A33; font: inherit; }
.rn-editable { cursor: text; }
.rn-editable:hover { border-color: rgba(14, 42, 71, .25); background: #fff; }
.rn-edit { display: grid; gap: .5rem; }
.is-done .rn-text, .is-done .rn-goto { text-decoration: line-through; color: #646C75; }
.rn-empty { display: block !important; color: #5B6570; font-size: .875rem; }
.rn-all { margin-top: 1rem; font-size: .875rem; }
.rn-all a { color: #0E2A47; }
.sr-only-rn { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rn-flash { animation: rn-flash 1.6s ease; }
@keyframes rn-flash { 0%, 60% { background: rgba(200, 164, 107, .35); } 100% { background: transparent; } }
@media (max-width: 47.99rem) { .rn-panel { width: 100vw; border-left: 0; } }
