/* Mahina Site Repairs 1.1.0. Every selector is scoped to the new feature. */
.mprv-controls { margin-top: 2rem; text-align: center; }
.mprv-controls *, .mprv-live-reviews *, .mprv-form *, .mprv-card *, .mprv-more-english * { box-sizing: border-box; }
.mprv-controls .mprv-disclosure { border: 0; background: none; padding: 0; margin: 0; }
.mprv-controls .mprv-button, .mprv-form .mprv-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .8rem;
  min-height: 48px; max-width: 100%; padding: .95rem 1.5rem; border: 1px solid #b99b48;
  border-radius: 8px; background: #e8c66c; color: #10372e; font: inherit;
  font-size: 1rem; font-weight: 600; line-height: 1.5; text-decoration: none;
  text-align: center; white-space: normal; cursor: pointer; list-style: none;
  box-shadow: 0 3px 10px rgb(20 48 36 / 6%); transition: background-color .18s ease, box-shadow .18s ease;
}
.mprv-disclosure > summary::-webkit-details-marker { display: none; }
.mprv-disclosure > summary::marker { content: ''; }
.mprv-controls .mprv-button:hover, .mprv-form .mprv-button:hover { background: #f0d584; box-shadow: 0 4px 12px rgb(20 48 36 / 12%); }
.mprv-form .mprv-button:disabled { cursor: wait; opacity: .7; }
.mprv-disclosure-arrow { display: inline-block; flex: 0 0 auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.mprv-disclosure[open] > summary .mprv-disclosure-arrow, .mprv-more-english[open] > summary .mprv-disclosure-arrow { transform: rotate(225deg); margin-top: 4px; }
.mprv-controls .mprv-control-note { margin: .85rem auto 0; max-width: 42rem; color: #43594e; font-size: .9rem; line-height: 1.65; }
.mprv-form-panel { max-width: 760px; margin: 1.5rem auto 0; padding: clamp(1.1rem, 4vw, 2rem); border: 1px solid #d7c9a9; border-radius: 12px; background: #fffdf7; color: #163b31; text-align: left; }
.mprv-form { margin: 0; padding: 0; color: #163b31; text-align: left; font-size: 1rem; line-height: 1.6; }
.mprv-form .mprv-form-intro { margin: 0 0 1.25rem; color: #43594e; }
.mprv-form label:not(.mprv-consent) { display: block; margin: 1.15rem 0 .35rem; font-size: 1rem; font-weight: 600; color: #163b31; }
.mprv-form input:not([type="hidden"]):not([type="checkbox"]), .mprv-form textarea, .mprv-form select {
  display: block; width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: .7rem .8rem;
  border: 1px solid #858f79; border-radius: 6px; background: #fff; color: #19372e;
  font: inherit; font-size: 16px; line-height: 1.5; box-shadow: none;
}
.mprv-form textarea { min-height: 150px; resize: vertical; }
.mprv-form small { display: block; margin: .4rem 0 0; font-size: .88rem; line-height: 1.55; color: #43594e; }
.mprv-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.mprv-fields > div { min-width: 0; }
.mprv-form .mprv-consent { display: flex; align-items: flex-start; gap: .7rem; margin: 1.4rem 0 .75rem; font-size: .96rem; line-height: 1.6; font-weight: 400; cursor: pointer; }
.mprv-consent input[type="checkbox"] { flex: 0 0 auto; appearance: auto; width: 20px; height: 20px; margin: .2rem 0 0; accent-color: #163b31; }
.mprv-form .mprv-note { margin: .7rem 0 1.25rem; font-size: .86rem; line-height: 1.6; color: #43594e; }
.mprv-form a, .mprv-form-panel > a, .mprv-feed-fallback, .mprv-standalone a { color: #245640; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.mprv-form .mprv-message { margin: 1rem 0; }
.mprv-form .mprv-message:empty { display: none; }
.mprv-form .mprv-message:not(:empty) { padding: 1rem; border-left: 3px solid #355c42; border-radius: 0 6px 6px 0; background: #f1f4e9; color: #19372e; }
.mprv-form .mprv-message[data-error="true"] { background: #fff5e3; border-left-color: #805528; color: #503a21; }
.mprv-form .mprv-refresh { display: block; padding: .55rem 0; margin-top: .7rem; border: 0; background: none; color: #245640; font: inherit; font-size: .93rem; text-decoration: underline; cursor: pointer; }
.mprv-form .mprv-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap; }
.mprv-controls :focus-visible, .mprv-form :focus-visible, .mprv-more-english > summary:focus-visible,
.mprv-live-reviews :focus-visible, .mprv-standalone a:focus-visible { outline: 3px solid #143f32; outline-offset: 4px; box-shadow: 0 0 0 2px #fffdf7; }
.mprv-controls [hidden], .mprv-form [hidden], .mprv-live-reviews [hidden] { display: none !important; }
.mprv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.mprv-grid:empty { display: none; }
.mprv-grid > * { min-width: 0; }
.mprv-card { min-width: 0; margin: 0; padding: clamp(1.25rem, 3vw, 2rem); background: #fffdf8; color: #243b34; border: 1px solid #d8d4c5; border-radius: 12px; overflow-wrap: anywhere; box-shadow: none; }
.mprv-card > p { margin: 0 0 1.25rem; font-size: .93rem; line-height: 1.68; color: #243b34; }
.mprv-card > footer { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; margin: 0; padding: 0; background: none; border: 0; color: #405c50; font-size: .95rem; line-height: 1.6; }
.mprv-card > footer strong { color: #243b34; font-weight: 600; }
.mprv-card > footer small { flex-basis: 100%; color: #43594e; font-size: .83rem; }
.mprv-more-english { margin: 1.25rem 0 0; padding: 0; border: 0; background: none; }
.mprv-more-english > summary { display: flex; justify-content: center; align-items: center; gap: .9rem; min-height: 44px; padding: .8rem .5rem; color: #243b34; font-size: 1rem; line-height: 1.6; cursor: pointer; list-style: none; }
.mprv-more-english > summary::-webkit-details-marker { display: none; }
.mprv-more-english > .mprv-grid { margin-top: 1.25rem; }
.mprv-more-english:not([open]) > .mprv-grid { display: none; }
.mprv-live-reviews .mprv-feed-title { margin: 2rem 0 1rem; font-family: inherit; font-size: 1.3rem; font-weight: 400; color: #163b31; }
.mprv-live-reviews .mprv-load-more { display: block; max-width: 100%; min-height: 44px; margin: 1.25rem auto; padding: .75rem 1rem; border: 1px solid #71816a; border-radius: 6px; background: transparent; color: #19372e; font: inherit; cursor: pointer; }
.mprv-live-reviews .mprv-feed-fallback { display: inline-block; margin: 1rem 0 0; font-size: .88rem; }
.mprv-live-reviews .mprv-feed-message { font-size: .9rem; color: #43594e; }
/* Quiz appearance only. Existing quiz engines, titles and control attributes remain intact. */
.mprv-quiz-card { min-width: 0; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mprv-quiz-card .mprv-quiz-ribbon { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin: 0 0 1.35rem; }
.mprv-quiz-card .mprv-quiz-badge { display: inline-flex; align-items: center; max-width: 100%; padding: .42rem .8rem; border: 1px solid #b9953b; border-radius: 5px; background: #e8c66c; color: #113a2f; font-family: inherit; font-size: .83rem; font-weight: 600; line-height: 1.45; letter-spacing: .075em; }
.mprv-quiz-card .mprv-quiz-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; color: #143f32; background: #ead398; }
.mprv-quiz-card .mprv-quiz-icon svg { display: block; }
.mprv-quiz-card .mprv-quiz-cue { display: block; margin: 1.15rem 0 .5rem; font-size: .9rem; line-height: 1.55; opacity: 1; color: inherit; }
.mprv-quiz-card .mprv-quiz-cta { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: auto; max-width: 100%; min-height: 50px; padding: .95rem 1.15rem; border: 1px solid #c2a153 !important; border-radius: 7px; background: #e8c66c !important; color: #113a2f !important; font-family: inherit; font-size: .93rem; font-weight: 600; line-height: 1.55; letter-spacing: .025em; text-decoration: none; white-space: normal; text-align: center; cursor: pointer; box-shadow: 0 2px 8px rgb(0 0 0 / 7%); }
.mprv-quiz-card .mprv-quiz-cta:hover { background: #f0d584 !important; }
.mprv-quiz-card .mprv-quiz-cta:focus-visible { outline: 3px solid #163b31; outline-offset: 5px; box-shadow: 0 0 0 3px #fff7df; }
.mprv-quiz-card:focus-within { border-color: #c9a857; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .mprv-quiz-card:hover { transform: translateY(-3px); border-color: #c9a857; box-shadow: 0 12px 24px rgb(19 53 39 / 10%); }
}
@media (max-width: 600px) {
  .mprv-grid, .mprv-fields { grid-template-columns: minmax(0, 1fr); }
  .mprv-fields { gap: 0; }
  .mprv-controls .mprv-button, .mprv-form .mprv-button { width: 100%; }
  .mprv-form-panel { padding: 1.1rem; }
  .mprv-quiz-card .mprv-quiz-cta { width: 100%; padding-inline: .7rem; }
  .mprv-quiz-card .mprv-quiz-badge { font-size: .75rem; letter-spacing: .05em; }
}
@media (prefers-reduced-motion: reduce) {
  .mprv-quiz-card, .mprv-controls .mprv-button, .mprv-form .mprv-button { transition: none; transform: none; }
}
/* Standalone no-JavaScript fallback and private confirmation pages only. */
.mprv-standalone { margin: 0; min-height: 100vh; background: #f4ead5; color: #163b31; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.7; }
.mprv-standalone .mprv-page { box-sizing: border-box; max-width: 820px; margin: 0 auto; padding: clamp(1.25rem, 5vw, 3rem); }
.mprv-standalone .mprv-brand { margin: 0 0 1rem; font: 400 1.25rem/1.6 Georgia, "Times New Roman", serif; letter-spacing: .02em; }
.mprv-standalone h1 { margin: 1rem 0; font: 400 clamp(1.8rem, 5vw, 2.7rem)/1.2 Georgia, "Times New Roman", serif; }
.mprv-standalone .mprv-form { margin-top: 1.5rem; padding: clamp(1rem, 4vw, 2rem); border: 1px solid #d7c9a9; border-radius: 12px; background: #fffdf7; }
.mprv-standalone .mprv-back { margin-top: 2rem; }
