/* V2.057: scoped conversion and navigation; current brand/type tokens retained. */
.p360-site .p360-conversion-link, .p360-site .p360-button, .p360-site .p360-text-link { text-transform: none; }
.p360-service-group { min-width: 0; }
.p360-service-group summary { min-height: 48px; padding: 12px; cursor: pointer; font-size: 1rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.p360-service-group[open] summary { border-bottom: 1px solid currentColor; }
.p360-service-group__links { margin: 0; padding: 8px 0 8px 12px; list-style: none; }
.p360-service-group__links a { min-height: 44px; }
.p360-service-group summary:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.p360-nav__list > .p360-services-menu > .sub-menu { grid-template-columns: minmax(0, 1fr); width: min(390px, calc(100vw - 48px)); }
.p360-menu-panel__list .p360-services-menu.is-submenu-open > .sub-menu { max-height: none; overflow: visible; }
.p360-menu-panel__list .p360-service-group__links a { display: flex; align-items: center; padding: 10px 4px; font-size: .95rem; }
.p360-services-menu .p360-service-group__links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.p360-quote-dialog { box-sizing: border-box; width: min(760px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); margin: auto; padding: clamp(24px, 4vw, 40px); border: 1px solid var(--p360-line-light); border-radius: var(--p360-radius); background: var(--p360-surface-dark); color: var(--p360-text-light); overflow-y: auto; overscroll-behavior: contain; color-scheme: dark; }
.p360-quote-dialog:not([open]) { display: none; }
.p360-quote-dialog::backdrop { background: rgba(0, 0, 0, .78); }
.p360-quote-close { position: sticky; top: 0; float: right; z-index: 1; width: 44px; height: 44px; padding: 0; border: 1px solid var(--p360-line-light); border-radius: 50%; background: var(--p360-surface-dark-raised); color: var(--p360-text-light); font-size: 1.8rem; cursor: pointer; }
.p360-quote-content { max-width: 70ch; margin-inline: auto; }
.p360-quote-content :is(h1, h2) { margin: 10px 0 16px; font-family: var(--p360-font-display); font-size: clamp(1.8rem, 5vw, 3rem); line-height: 1.15; }
.p360-quote-content > p { max-width: 65ch; color: var(--p360-text-light-muted); }
.p360-site .p360-quote-content .p360-kicker { color: var(--p360-accent-2); }
.p360-quote-form { clear: both; }
.p360-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.p360-quote-grid[hidden], .p360-quote-form [hidden] { display: none !important; }
.p360-quote-wide { grid-column: 1 / -1; }
.p360-quote-field { display: flex; min-width: 0; margin: 0; flex-direction: column; gap: 6px; font-size: .95rem; font-weight: 600; }
.p360-quote-form small { font-size: .8rem; font-weight: 400; color: var(--p360-text-light-muted); }
.p360-quote-form input:not([type="radio"]):not([type="hidden"]), .p360-quote-form select, .p360-quote-form textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid var(--p360-line-light); border-radius: 10px; background: var(--p360-surface-dark-raised); color: var(--p360-text-light); font-family: var(--p360-font-body); font-size: 16px; line-height: 1.4; }
.p360-quote-form textarea { resize: vertical; }
/* Override the retained light-form defaults only inside the new dark quote form. */
body.p360-site .p360-quote-form :is(input:not([type="radio"]), select, textarea) { color: var(--p360-text-light) !important; }
body.p360-site .p360-quote-form input::placeholder { color: var(--p360-text-light-muted) !important; opacity: 1; }
.p360-quote-form :focus-visible, .p360-quote-close:focus-visible { outline: 2px solid var(--p360-accent-2); outline-offset: 3px; }
.p360-quote-form [aria-invalid="true"] { border-color: var(--p360-accent); }
.p360-quote-error { color: var(--p360-text-light); font-size: .85rem; font-weight: 400; }
.p360-quote-error:empty, .p360-quote-status:empty { display: none; }
.p360-quote-method { min-width: 0; padding: 0; margin: 0; border: 0; }
.p360-quote-method legend { float: none; width: auto; margin-bottom: 10px; font-size: .95rem; font-weight: 600; color: inherit; }
.p360-quote-methods { display: flex; gap: 12px; flex-wrap: wrap; }
.p360-quote-methods label { position: relative; display: block; margin: 0; cursor: pointer; }
.p360-quote-methods input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.p360-quote-methods span { display: grid; width: 54px; height: 54px; place-items: center; border: 2px solid var(--p360-line-light); border-radius: 14px; background: var(--p360-surface-dark-raised); color: var(--p360-text-light); }
.p360-quote-methods input:checked + span { background: var(--p360-accent-2); color: var(--p360-ink); border-color: var(--p360-accent-2); box-shadow: inset 0 0 0 3px var(--p360-ink); }
.p360-quote-methods input:focus-visible + span { outline: 2px solid var(--p360-accent-2); outline-offset: 4px; }
.p360-quote-form > .p360-button { margin-top: 24px; background: var(--p360-accent-2); color: var(--p360-ink); text-transform: none; }
.p360-quote-form > .p360-button:disabled { opacity: .6; cursor: wait; }
.p360-quote-note { margin-top: 16px; font-size: .85rem; color: var(--p360-text-light-muted); }
.p360-quote-content a { color: var(--p360-text-light); text-decoration: underline; }
.p360-quote-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.p360-quote-page { padding-top: 140px; background: var(--p360-surface-dark); color: var(--p360-text-light); color-scheme: dark; }
@media (max-width: 560px) {
  .p360-quote-grid { grid-template-columns: minmax(0, 1fr); }
  .p360-quote-dialog { padding: 20px; border-radius: 18px; }
  .p360-quote-form > .p360-button { width: 100%; justify-content: center; }
  .p360-service-group summary { padding-inline: 4px; font-size: .95rem; }
}
@media (forced-colors: active) {
  .p360-quote-methods input:checked + span { outline: 3px solid Highlight; }
}
