/* Salotto: solo le due pagine preventivi; il controller chat resta condiviso. */
.pv-salotto { background: #1f2523; isolation: isolate; }
.pv-salotto .salotto-backdrop { position: fixed; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; }
.pv-salotto .salotto-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: saturate(.94) contrast(1.04); }
.pv-salotto .hero-reel { position: absolute; inset: 0; animation: salotto-push 17s linear infinite; }
.pv-salotto .hero-frame { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.5s ease; }
.pv-salotto .hero-frame.is-active { opacity: 1; }
.pv-salotto .hero-blackout { position: absolute; inset: 0; z-index: 4; background: #0b0908; opacity: 0; transition: opacity .45s ease; }
.pv-salotto .hero-blackout.is-active { opacity: 1; }
@keyframes salotto-push { from { transform: scale(1.11); } to { transform: scale(1.005); } }
@keyframes salotto-push-tall { from { transform: scale(1.06); } to { transform: scale(1.002); } }
@media (max-width: 767px) {
  .pv-salotto .hero-reel { animation-name: salotto-push-tall; }
  .pv-salotto .salotto-backdrop img { object-position: center; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-salotto .hero-reel { animation: none; }
  .pv-salotto .hero-frame, .pv-salotto .hero-blackout { transition: none; }
}
.pv-salotto::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to bottom,rgba(31,37,35,.16) 14%,rgba(31,37,35,.18) 40%,rgba(31,37,35,.84) 100%); }
.pv-salotto .topbar { background: transparent; backdrop-filter: none; border-bottom-color: rgba(255,255,255,.18); }
.pv-salotto .brand-logo { filter: brightness(0) invert(1); }
.pv-salotto .topbar > nav > a { color: #ffffff; }
.pv-salotto .topbar > nav .do-lang-btn { color: #ffffff; }
.pv-salotto .topbar-cta { color: #ffffff; background: transparent; border: 1px solid rgba(255,255,255,.5); }
.pv-salotto .nav-toggle { border-color: rgba(255,255,255,.5); background: transparent; }
.pv-salotto .nav-toggle-bars, .pv-salotto .nav-toggle-bars::before, .pv-salotto .nav-toggle-bars::after { background: #ffffff; }
.pv-salotto .pv-wrap { max-width: 1480px; min-height: calc(100svh - 180px); padding: clamp(32px,5vw,80px) clamp(20px,4vw,64px); display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); align-items: center; gap: clamp(32px,5vw,80px); }
.pv-salotto .salotto-intro { align-self: start; padding-top: clamp(12px,5vh,64px); }
.pv-salotto .salotto-intro h1 { color: #ffffff; font-size: clamp(36px,4.1vw,66px); letter-spacing: -.055em; line-height: 1.08; font-weight: 600; margin: 24px 0; }
.pv-salotto .salotto-intro .salotto-greeting { color: rgba(255,255,255,.9); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; overflow-wrap: anywhere; }
.pv-salotto .salotto-intro .salotto-lead { color: rgba(255,255,255,.9); font-size: clamp(15px,1.3vw,18px); line-height: 1.7; max-width: 390px; }
.pv-salotto .salotto-intro .salotto-unread { margin-top: 32px; color: #ffffff; font-size: 14px; display: flex; align-items: center; gap: 10px; }
.pv-salotto .salotto-unread::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #eef2ed; }
.pv-salotto .salotto-inbox { min-width: 0; padding: clamp(18px,2.3vw,34px); color: #ffffff; background: rgba(31,37,35,.9); border: 1px solid rgba(255,255,255,.32); border-radius: 26px; box-shadow: 0 24px 80px rgba(0,0,0,.18); }
@supports (backdrop-filter: blur(20px)) {
  .pv-salotto .salotto-inbox { background: rgba(31,37,35,.54); backdrop-filter: blur(20px); }
}
.pv-salotto .salotto-inbox-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pv-salotto .salotto-inbox-head h2 { color: #ffffff; font-size: clamp(22px,2vw,28px); font-weight: 550; letter-spacing: -.03em; }
.pv-salotto .salotto-total { display: grid; place-items: center; min-width: 32px; min-height: 32px; padding: 2px 8px; border-radius: 50%; background: rgba(255,255,255,.12); font-size: 14px; }
.pv-salotto .salotto-guide { margin: 8px 0 20px; border: 0; background: transparent; padding: 0; }
.pv-salotto .salotto-guide summary { min-height: 44px; padding-block: 12px; color: rgba(255,255,255,.9); cursor: pointer; font-size: 13px; }
.pv-salotto .salotto-guide p { color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.6; margin: 0 0 12px; }
.pv-salotto .salotto-inbox .pv-tabs { gap: 6px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.18); }
.pv-salotto .salotto-inbox .pv-tab { min-height: 44px; padding-inline: 13px; background: transparent; border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.9); font-size: 13px; }
.pv-salotto .salotto-inbox .pv-tab.active { background: #eef2ed; border-color: #eef2ed; color: #1f2523; }
.pv-salotto .salotto-inbox .pv-tab:hover { background: #eef2ed; color: #1f2523; }
.pv-salotto .salotto-inbox .pv-list { gap: 0; }
.pv-salotto .salotto-inbox .pv-card { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.16); border-radius: 0; padding: 22px 4px; box-shadow: none; transform: none; }
.pv-salotto .salotto-inbox .pv-card:last-child { border-bottom: 0; }
.pv-salotto .salotto-inbox .pv-card[data-open]:hover { background: rgba(255,255,255,.07); }
.pv-salotto .salotto-inbox .pv-card-avatar { background: #eef2ed; color: #1f2523; border-color: rgba(255,255,255,.3); }
.pv-salotto .salotto-inbox .pv-card-top h3 { color: #ffffff; font-size: 17px; white-space: normal; overflow-wrap: anywhere; }
.pv-salotto .salotto-inbox .pv-card-top time { color: rgba(255,255,255,.9); font-size: 12px; }
.pv-salotto .salotto-inbox .pv-message-preview { color: rgba(255,255,255,.9); font-size: 14px; }
.pv-salotto .salotto-inbox .pv-facts { color: rgba(255,255,255,.9); font-size: 12px; gap: 7px 10px; align-items: center; }
.pv-salotto .salotto-inbox .pv-facts strong { color: rgba(255,255,255,.9); font-weight: 500; }
.pv-salotto .salotto-inbox .pv-badge { font-size: 12px; padding: 3px 8px; }
.pv-salotto .salotto-inbox .pv-chiusa { background: #eef2ed; color: #1f2523; }
.pv-salotto .salotto-inbox .pv-unread { background: #eef2ed; color: #1f2523; font-size: 12px; }
.pv-salotto .salotto-inbox .pv-empty { margin-top: 20px; color: rgba(255,255,255,.9); background: rgba(0,0,0,.16); border-color: rgba(255,255,255,.25); line-height: 1.6; }
.pv-salotto :is(.salotto-inbox,.topbar) :focus-visible { outline: 2px solid #ffffff; outline-offset: 4px; }
.pv-salotto.salotto-detail .salotto-inbox { display: none; }
.pv-salotto.salotto-detail .pv-wrap { display: block; max-width: 1240px; }
.pv-salotto .footer { color: rgba(255,255,255,.9); border-top-color: rgba(255,255,255,.18); background: rgba(31,37,35,.6); }
.pv-salotto .footer a { color: rgba(255,255,255,.9); }
@media (max-width: 1200px) {
  .pv-salotto .topbar.nav-open > nav > a { color: var(--ink); }
  .pv-salotto .topbar.nav-open > nav .do-lang-btn { color: var(--ink); }
}
@media (max-width: 1100px) {
  .pv-salotto .pv-wrap { gap: 28px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); padding-inline: 24px; }
  .pv-salotto .salotto-intro h1 { font-size: 40px; }
}
@media (max-width: 860px) {
  .pv-salotto .pv-wrap { grid-template-columns: minmax(0,1fr); padding: 28px 16px 36px; gap: 30px; }
  .pv-salotto .salotto-intro { padding: 0 6px; }
  .pv-salotto .salotto-intro h1 { font-size: clamp(32px,7vw,48px); margin: 16px 0; }
  .pv-salotto .salotto-intro .salotto-unread { margin-top: 20px; }
  .pv-salotto .salotto-inbox { border-radius: 20px; padding: 20px 16px; }
  .pv-salotto .salotto-inbox .pv-conversation-card { grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; }
  .pv-salotto .salotto-inbox .pv-card-avatar { width: 40px; height: 40px; flex-basis: 40px; }
  .pv-salotto .salotto-inbox .pv-card-top h3 { font-size: 16px; }
  .pv-salotto .salotto-inbox .pv-card-top time { display: block; }
  .pv-salotto .salotto-inbox .pv-card { padding-block: 18px; }
  .pv-salotto .topbar.nav-open > nav > a { color: var(--ink); }
  .pv-salotto.salotto-detail .pv-wrap { padding: 18px 10px 32px; }
}

/* Stesso velo e scrim mobile della hero della home. */
@media (max-width: 767px) {
  .pv-salotto::before { background: linear-gradient(to bottom,rgba(20,24,23,.62) 0%,rgba(31,37,35,.24) 42%,rgba(31,37,35,.88) 100%); }
  .pv-salotto .topbar { background: linear-gradient(to bottom,rgba(20,24,23,.72),rgba(20,24,23,.36)); }
}

/* Modello 1 del concept: stesse misure, superfici e gerarchia. */
.pv-salotto.salotto-concept::before {background:linear-gradient(#1f252333,#1f2523bc)}
.pv-salotto.salotto-concept .salotto-backdrop img {filter:none;object-position:center}
.pv-salotto.salotto-concept .topbar {height:70px;min-height:70px;padding:0 32px;gap:26px;border-bottom:1px solid #ffffff30;background:transparent;backdrop-filter:none;grid-template-columns:auto 1fr}
.pv-salotto.salotto-concept .brand-logo {display:none}
.pv-salotto.salotto-concept .brand::after {content:'DecoraOra';font:700 26px Georgia,serif;letter-spacing:-.4px;color:white}
.pv-salotto.salotto-concept .topbar > nav {justify-content:flex-end;gap:26px}
.pv-salotto.salotto-concept .topbar > nav > a {display:none;font-size:14px;font-weight:400}
.pv-salotto.salotto-concept .topbar > nav > a[href^='preventivi'],.pv-salotto.salotto-concept .topbar > nav > a[href^='studio-ai'] {display:inline-flex;align-items:center;padding:0;min-height:0;line-height:normal}
.pv-salotto.salotto-concept .topbar-cta,.pv-salotto.salotto-concept .do-lang,.pv-salotto.salotto-concept .do-lang-switcher,.pv-salotto.salotto-concept .nav-toggle,.pv-salotto.salotto-concept .notif-bell-wrap,.pv-salotto.salotto-concept .hdr-fav {display:none}
.pv-salotto.salotto-concept .user-menu-btn {background:transparent;color:white;border:1px solid #ffffff66;border-radius:24px;padding:10px 16px;font-size:14px;font-weight:400}
.pv-salotto.salotto-concept .user-menu-btn .avatar {display:none}
.pv-salotto.salotto-concept .pv-wrap {max-width:none;min-height:0;padding:28px;margin:0}
.pv-salotto.salotto-concept .pv-detail {grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:stretch;height:calc(100svh - 126px);min-height:560px}
.pv-salotto.salotto-concept .pv-detail > [id$='DetMain'] {order:1;min-height:0}
.pv-salotto.salotto-concept .pv-summary {order:2;position:static;top:auto;min-height:0;overflow:auto;background:#f9f8f0ec;border:0;border-radius:18px;padding:24px;display:block;color:#252925}
.pv-salotto.salotto-concept .pv-summary > .pv-back,.pv-salotto.salotto-concept .pv-summary-actions {display:none}
.pv-salotto.salotto-concept.salotto-manage-open .pv-summary-actions {display:grid;position:static;background:transparent;padding:20px 0 0;border:0;max-height:none;grid-template-columns:1fr;gap:12px}
.pv-salotto.salotto-concept .salotto-concept-card {display:flex;flex-direction:column;gap:20px;font-size:14px;line-height:normal}
.pv-salotto.salotto-concept .sc-eyebrow {font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#787e71}
.pv-salotto.salotto-concept .salotto-concept-card h2 {font:400 30px/1.12 Georgia,serif;margin:8px 0 12px}
.pv-salotto.salotto-concept .sc-event-image {width:100%;height:110px;object-fit:cover;border-radius:10px;display:inline}
.pv-salotto.salotto-concept .sc-facts {display:grid;grid-template-columns:1fr 1fr;gap:17px 12px}
.pv-salotto.salotto-concept .sc-facts small {display:block;color:#7b8076;font-size:11px;margin-bottom:5px}
.pv-salotto.salotto-concept .sc-facts b {font-size:12px;font-weight:500}
.pv-salotto.salotto-concept .sc-offer {border-top:1px solid #d9ddd1;padding-top:18px}
.pv-salotto.salotto-concept .sc-price {font-size:32px;letter-spacing:-1px;margin:8px 0}
.pv-salotto.salotto-concept .sc-offer p {color:#777e71;font-size:12px;line-height:1.5;margin:12px 0}
.pv-salotto.salotto-concept .sc-action {padding:12px;background:#323c30;color:white;border:0;border-radius:8px;width:100%;font-size:14px;font-weight:600;min-height:0}
.pv-salotto.salotto-concept .sc-link {background:none;border:0;color:inherit;font-size:12px;font-weight:400;padding:12px 0;text-align:left;min-height:0;display:block}
.pv-salotto.salotto-concept .qc-panel--conversation {height:100%;min-height:0;display:flex;flex-direction:column;background:rgba(32,35,31,.66);backdrop-filter:blur(28px);border:1px solid #ffffff4a;color:white;border-radius:18px;overflow:hidden}
.pv-salotto.salotto-concept .qc-panel--conversation > .qc-panel-head {flex:none;min-height:0;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:18px 22px;background:transparent;border-bottom:1px solid #ffffff26;font-size:14px}
.pv-salotto.salotto-concept .qc-panel--conversation .qc-mobile-back {display:block;width:auto;min-height:0;flex:none;padding:2px 6px;border:0;background:none;border-radius:0;font-size:24px;font-weight:400;line-height:normal;color:inherit}
.pv-salotto.salotto-concept .qc-person {flex:1;gap:12px;min-width:0}
.pv-salotto.salotto-concept .qc-avatar {width:40px;height:40px;flex:0 0 40px;border:1px solid #d9ddd2;background:#e8ebe3;color:#30392f;font-size:12px;font-weight:400}
.pv-salotto.salotto-concept .qc-person-copy {gap:0;flex:1;min-width:0}
.pv-salotto.salotto-concept .qc-person-copy strong {font-size:17px;line-height:normal;font-weight:700}
.pv-salotto.salotto-concept .qc-person-copy small {font-size:12px;line-height:normal;color:#ffffffb8;margin-top:5px}
.pv-salotto.salotto-concept .qc-panel-head > .pv-badge,.pv-salotto.salotto-concept .qc-panel-head > [class^='sb-'] {display:none}
.pv-salotto.salotto-concept .sc-details-toggle {border:1px solid #c6ccc1;color:inherit;background:transparent;border-radius:20px;padding:8px 12px;font-size:14px;line-height:normal;min-height:0;font-weight:400;white-space:nowrap;flex:none}
.pv-salotto.salotto-concept .qc-panel--conversation > .qc-body {display:flex;flex:1;flex-direction:column;min-height:0;height:auto;padding:0;gap:0;background:transparent;overflow:hidden}
.pv-salotto.salotto-concept .qc-panel--conversation .qc-thread {flex:1;display:block;min-height:0;max-height:none;height:auto;overflow:auto;overscroll-behavior:contain;padding:20px 28px;border-radius:0;scrollbar-gutter:auto}
.pv-salotto.salotto-concept .qc-day {display:block;text-align:center;font-size:11px;font-weight:400;letter-spacing:1px;color:#ffffffb8;line-height:normal;margin:0 0 22px}
.pv-salotto.salotto-concept .qc-day::before,.pv-salotto.salotto-concept .qc-day::after {display:none}
.pv-salotto.salotto-concept .qc-day span {padding:0;background:none}
.pv-salotto.salotto-concept .qc-msg {display:block;max-width:77%;margin-bottom:17px;line-height:1.6;font-size:14px}
.pv-salotto.salotto-concept .qc-msg.mine {margin-left:auto}
.pv-salotto.salotto-concept .qc-msg .qc-bubble {display:block;max-width:none;padding:0;border:0;background:none;color:inherit;box-shadow:none;font-size:inherit;line-height:inherit}
.pv-salotto.salotto-concept .sc-message-text {padding:13px 17px;border-radius:15px 15px 15px 3px;background:#ffffff0f;border:1px solid #ffffff26;overflow-wrap:anywhere}
.pv-salotto.salotto-concept .mine .sc-message-text {background:#eeefe7;border-color:#dce2d5;border-radius:15px 15px 3px 15px;color:#30372c}
.pv-salotto.salotto-concept .qc-when {display:block;justify-self:stretch;width:auto;text-align:left;font-size:10px;color:#ffffffb8;margin:5px 8px;line-height:1.6;opacity:1}
.pv-salotto.salotto-concept .mine .qc-when {text-align:right}
.pv-salotto.salotto-concept .qc-att--img img {width:190px;max-width:100%;aspect-ratio:1.75;object-fit:cover;display:block;border-radius:10px;margin-bottom:8px}
.pv-salotto.salotto-concept .qc-att--img figcaption {display:none}
.pv-salotto.salotto-concept .qc-image-open {display:block;padding:0;margin:0;border:0;background:none;border-radius:10px;min-height:0}
.pv-salotto.salotto-concept .qc-att--file {background:none;padding:0;min-width:0;font-size:12px;gap:12px}
.pv-salotto.salotto-concept .qc-att--audio,.pv-salotto.salotto-concept .qc-chip {color:var(--ink)}
.pv-salotto.salotto-concept .qc-panel--conversation > .qc-body > .qc-note,.pv-salotto.salotto-concept .qc-proposta-action {display:none}
.pv-salotto.salotto-concept .qc-composer {flex:none;padding:14px 22px 18px;border-top:1px solid #ffffff26;display:flex;align-items:center;gap:12px;min-height:0;background:#ffffff08;color:white}
.pv-salotto.salotto-concept .qc-input-pill {border:0;background:none;box-shadow:none;min-height:0;border-radius:0;flex:1}
.pv-salotto.salotto-concept .qc-composer textarea {resize:none;flex:1;min-width:0;min-height:44px;height:44px;max-height:120px;padding:12px 0;border:0;background:none;border-radius:0;box-shadow:none;color:inherit;font-size:14px;line-height:20px}
.pv-salotto.salotto-concept .qc-composer textarea::placeholder {color:#ffffffb8}
.pv-salotto.salotto-concept .qc-composer .qc-icon-button {width:38px;min-height:38px;height:38px;min-width:38px;border:0;padding:0;background:none;color:inherit;font-size:24px;font-weight:400;border-radius:0;flex:none;opacity:1;transform:none;pointer-events:auto}
.pv-salotto.salotto-concept .qc-composer:not(.is-recording) .qc-send {display:grid;background:#eeefe7;color:#30372c;border-radius:50%;font-size:21px}
.pv-salotto.salotto-concept .qc-composer .qc-clip > span {display:inline}
.pv-salotto.salotto-concept .qc-composer.is-recording .qc-composer-normal {display:none}
.pv-salotto.salotto-concept .sc-tools {position:absolute;bottom:calc(100% + 8px);left:16px;z-index:10;padding:10px;background:#f9f8f0;color:#252925;border:1px solid #d9ddd2;border-radius:12px;box-shadow:0 8px 30px #0003;min-width:220px}
.pv-salotto.salotto-concept .sc-tools[hidden] {display:none}
.pv-salotto.salotto-concept .sc-tools > button,.pv-salotto.salotto-concept .sc-tools > .qc-icon-button,.pv-salotto.salotto-concept .sc-tools > .qc-emoji-toggle {display:flex;align-items:center;gap:10px;min-height:44px;width:100%;height:auto;border:0;border-radius:6px;padding:8px;color:#252925;background:transparent;font-size:14px;font-weight:400;white-space:nowrap}
.pv-salotto.salotto-concept .sc-tools > [hidden] {display:none}
.pv-salotto.salotto-concept .qc-preview {background:#ffffff10;color:var(--ink)}
.pv-salotto.salotto-concept .qc-preview[hidden],.pv-salotto.salotto-concept .qc-error[hidden] {display:none}
.pv-salotto.salotto-concept .qc-record-cancel {color:#ffcfc9;border-color:#ffcfc980}
.pv-salotto.salotto-concept .qc-record-copy span,.pv-salotto.salotto-concept .qc-empty {color:#ffffffb8}
.pv-salotto.salotto-concept .salotto-offers > summary {cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}
.pv-salotto.salotto-concept .salotto-offers-body {display:grid;gap:10px}
.pv-salotto.salotto-concept .salotto-offers [role='tab'] {white-space:normal;gap:8px}
.pv-salotto.salotto-concept .footer {display:none}
@media(max-width:860px) {
 .pv-salotto.salotto-concept .topbar {position:fixed;z-index:1202;top:0;left:0;right:0;height:55px;min-height:55px;padding:0 16px;background:none}
 .pv-salotto.salotto-concept .brand::after {font-size:22px}
 .pv-salotto.salotto-concept .topbar > nav {display:none}
 .pv-salotto.salotto-concept .pv-wrap {padding:12px}
 .pv-salotto.salotto-concept .pv-detail {display:block;min-height:0;height:auto}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen {top:calc(var(--qc-viewport-top,0px) + 67px);left:12px;right:12px;width:calc(100% - 24px);height:calc(var(--qc-viewport-height,100dvh) - 79px);max-height:calc(var(--qc-viewport-height,100dvh) - 79px);border:1px solid #ffffff4a;border-radius:18px;background:rgba(32,35,31,.66);display:flex}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen > .qc-panel-head {padding:14px 10px;gap:6px;min-height:0;background:transparent}
 .pv-salotto.salotto-concept .qc-person {gap:6px}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen .qc-avatar {width:32px;height:32px;flex-basis:32px}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen .qc-person-copy strong {font-size:14px}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen .qc-person-copy small {font-size:10px}
 .pv-salotto.salotto-concept .sc-details-toggle {font-size:11px;padding:8px}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen .qc-thread {padding:20px 14px;min-height:0;max-height:none}
 .pv-salotto.salotto-concept .qc-msg {max-width:90%;font-size:13px}
 .pv-salotto.salotto-concept .qc-composer {padding:10px;gap:5px;min-height:0}
 .pv-salotto.salotto-concept .pv-summary {display:none}
 .pv-salotto.salotto-concept.salotto-details-open .pv-summary {display:block;position:fixed;inset:125px 12px 75px;z-index:1203;max-height:none;width:auto;box-shadow:0 8px 30px #0004}
 .pv-salotto.salotto-concept.salotto-manage-open .pv-summary-actions {display:grid!important;position:static;max-height:none;overflow:visible;padding:20px 0 0;background:none;border:0}
 .pv-salotto.salotto-concept .pv-request-details[open] > .pv-request-details-body {max-height:none;padding:0;background:none}
 .pv-salotto.salotto-concept .pv-request-details > summary {display:none}
 .pv-salotto.salotto-concept .pv-request-details[open] + .pv-action-buttons {display:grid}
}

.pv-salotto.salotto-concept .qc-att--file {display:flex;align-items:center;gap:12px;padding:0;background:none;border:0;color:inherit;font-size:12px;box-shadow:none}
.pv-salotto.salotto-concept .qc-att--file .qc-att-ico {width:auto;height:auto;border:1px solid #d3d7ca;border-radius:6px;padding:8px;font-size:10px;background:none}
.pv-salotto.salotto-concept .qc-att--file .qc-att-meta strong {font-size:12px;font-weight:400}
.pv-salotto.salotto-concept .qc-att--file .qc-att-meta small {font-size:10px;color:inherit}

/* Chat e richieste occupano lo spazio disponibile, senza la testata del sito. */
.pv-salotto .topbar,.pv-salotto.salotto-concept .topbar,.pv-salotto .salotto-intro,.pv-salotto .footer {display:none}
.pv-salotto .pv-wrap,.pv-salotto.salotto-detail .pv-wrap,.pv-salotto.salotto-concept .pv-wrap {display:block;max-width:none;min-height:100dvh;margin:0;padding:0}
.pv-salotto .salotto-inbox {height:100dvh;display:flex;flex-direction:column;min-height:0;border:0;border-radius:0;padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}
.pv-salotto.salotto-detail .salotto-inbox {display:none}
.pv-salotto .salotto-inbox-head {gap:10px;flex:none;min-height:48px}
.pv-salotto .salotto-inbox-head h2 {flex:1;margin:0;font-size:22px}
.pv-salotto .salotto-exit {display:grid;place-items:center;flex:none;width:44px;height:44px;color:inherit;text-decoration:none;font-size:28px;border-radius:50%}
.pv-salotto .salotto-exit:hover {background:#ffffff14}
.pv-salotto .salotto-guide {flex:none;margin:0 0 6px;max-height:30dvh;overflow:auto}
.pv-salotto .salotto-guide summary {padding-block:6px;min-height:32px}
.pv-salotto .salotto-inbox .pv-tabs {flex:none;flex-wrap:nowrap;overflow-x:auto;margin:0;padding:6px 0 12px;min-width:0}
.pv-salotto .salotto-inbox .pv-tab {flex:none;white-space:nowrap}
.pv-salotto .salotto-inbox .pv-list {flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start}
.pv-salotto.salotto-concept .pv-detail {height:100dvh;min-height:0;grid-template-columns:minmax(0,1fr);gap:0}
.pv-salotto.salotto-concept .qc-panel--conversation,
.pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen {position:fixed;inset:0;top:var(--qc-viewport-top,0px);z-index:1200;width:100%;height:var(--qc-viewport-height,100dvh);max-height:var(--qc-viewport-height,100dvh);min-height:0;margin:0;border:0;border-radius:0;display:flex}
.pv-salotto.salotto-concept .qc-panel--conversation > .qc-panel-head,
.pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen > .qc-panel-head {flex:none;min-height:56px;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))}
.pv-salotto.salotto-concept .qc-composer {padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.pv-salotto.salotto-concept .qc-composer textarea {font-size:16px}
.pv-salotto.salotto-concept .pv-summary {display:none}
.pv-salotto.salotto-concept.salotto-details-open .pv-summary {display:block;position:fixed;inset:64px 12px 76px auto;z-index:1203;width:min(360px,calc(100% - 24px));max-height:none;box-shadow:0 8px 30px #0005}
@media(max-width:860px) {
 .pv-salotto .salotto-inbox-head h2 {font-size:20px}
 .pv-salotto.salotto-concept .qc-panel--conversation.is-mobile-fullscreen .qc-thread {padding:14px}
 .pv-salotto.salotto-concept.salotto-details-open .pv-summary {inset:64px 12px 72px;width:auto}
}

/* Desktop approvato: lista raccolta e chat con scheda evento laterale. Mobile invariato. */
@media(min-width:861px){
 .pv-salotto:not(.salotto-detail) .pv-wrap{padding:32px!important;min-height:100dvh!important}
 .pv-salotto .salotto-inbox{max-width:1080px!important;margin:0 auto!important;height:calc(100dvh - 64px)!important;padding:28px 36px!important;border:1px solid #ffffff45!important;border-radius:20px!important;background:rgba(36,33,28,.56)!important;backdrop-filter:blur(24px)!important;box-shadow:0 24px 70px #0003!important}
 .pv-salotto .salotto-inbox-head{gap:16px!important;padding-bottom:12px!important}
 .pv-salotto .salotto-inbox-head h2{font-family:Georgia,serif!important;font-size:36px!important;font-weight:400!important;letter-spacing:-1px!important}
 .pv-salotto .salotto-inbox-head .salotto-exit:last-child{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;padding:0 20px!important;border-radius:24px!important;background:#f4f0e7!important;color:#282720!important;font-size:14px!important;gap:8px}
 .pv-salotto .salotto-inbox-head .salotto-exit:last-child::after{content:'Nuova richiesta'}
 .pv-salotto .salotto-guide{margin:0 0 20px!important;padding-left:0!important}
 .pv-salotto .salotto-inbox .pv-tabs{gap:8px!important;padding-bottom:20px!important}
 .pv-salotto .salotto-inbox .pv-tab{padding:10px 18px!important;font-size:14px!important}
 .pv-salotto .salotto-inbox .pv-tab.active{background:#f4f0e7!important;border-color:#f4f0e7!important}
 .pv-salotto .salotto-inbox .pv-list{scrollbar-width:thin;scrollbar-color:#ffffff45 transparent}
 .pv-salotto .salotto-inbox .pv-card{padding:24px 14px!important;min-height:125px;transition:background .15s}
 .pv-salotto .salotto-inbox .pv-card:has(.pv-unread){background:#ffffff09!important}
 .pv-salotto .salotto-inbox .pv-card[data-open]:hover{background:#ffffff18!important}
 .pv-salotto .salotto-inbox .pv-card-top h3{font-size:19px!important;font-weight:550!important}
 .pv-salotto .salotto-inbox .pv-card-avatar{width:52px!important;height:52px!important;background:#ffffff12!important;color:#fff!important}
 .pv-salotto .salotto-inbox .pv-message-preview{font-size:15px!important;margin:7px 0 10px!important}
 .pv-salotto .salotto-inbox .pv-facts{gap:14px!important;color:#e0dbd1!important}
 .pv-salotto .salotto-inbox .pv-unread{background:#f4f0e7!important;color:#282720!important;min-width:26px!important;min-height:26px!important}
 .pv-salotto.salotto-concept .qc-panel--conversation{inset:24px 328px 24px 24px!important;width:calc(100% - 352px)!important;height:calc(100dvh - 48px)!important;max-height:calc(100dvh - 48px)!important;border:1px solid #ffffff4a!important;border-radius:20px!important}
 .pv-salotto.salotto-concept .pv-summary{display:block!important;position:fixed!important;inset:24px 24px 24px auto!important;width:280px!important;z-index:1201!important;border-radius:20px!important}
 .pv-salotto.salotto-concept .qc-msg{max-width:min(77%,620px)}
 .pv-salotto.salotto-concept .qc-panel--conversation>.qc-panel-head{padding:16px 20px!important}
 .pv-salotto.salotto-concept .qc-composer{padding:12px 20px!important}
 }

/* C14b: componente condiviso, indipendente dalla superficie ospite.
   Scala tipografica della pv-summary; token cromatici esistenti. */
dl.qc-request-details {
  display: block;
  margin: 0;
  padding: 0;
  min-width: 0;
  color: var(--ink);
  font-family: inherit;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.35;
  & > dt {
    margin: 0;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  & > dd {
    margin: 0 0 6px;
    color: var(--ink);
    font: inherit;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
}

/* C15: risposta contestuale senza controlli permanenti nelle bolle. */
.qc-msg:not(.system) { touch-action: pan-y; }
.qc-msg .qc-bubble { position: relative; transition: transform .15s ease; }
.qc-msg .qc-reply-action {
  position: absolute; top: 0; right: 0; z-index: 1;
  opacity: 0; pointer-events: none;
  border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px;
  background: var(--paper); color: var(--ink); font: inherit; min-height: 32px;
}
.qc-msg:focus-within .qc-reply-action { opacity: 1; pointer-events: auto; }
@media (hover: hover) and (pointer: fine) {
  .qc-msg:hover .qc-reply-action { opacity: 1; pointer-events: auto; }
}
.qc-msg.is-reply-dragging .qc-bubble { transform: translateX(24px); }
.qc-msg.is-reply-ready .qc-bubble { transform: translateX(48px); }
@media (prefers-reduced-motion: reduce) {
  .qc-msg .qc-bubble { transition: none; }
}
