/* Strumenti e accessibilità: nessuna modifica alla composizione grafica approvata. */
.catalog-panel{margin-block:28px;padding:24px;border:1px solid #efdade;border-radius:18px;background:#fff}
.catalog-panel h2{font-size:28px;line-height:1.15;margin-bottom:14px}
.catalog-filters,.pdf-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:18px}
.catalog-filters>*{min-width:0}.catalog-filters label,.pdf-options label{display:block}
.catalog-panel #catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.catalog-card{display:flex;flex-direction:column;min-width:0}.catalog-card h3{overflow-wrap:anywhere}
.catalog-card details{font-size:13px;margin-block:12px}.catalog-card details p{margin-top:12px}
.catalog-card .actions{margin-top:auto;padding-top:14px}.catalog-card .actions>*{font-size:14px;min-height:44px}
.catalog-badge{color:#ae0710;font-size:12px;font-weight:750;letter-spacing:.02em}.catalog-note{color:#51545a;font-size:14px}
.pdf-options input,.pdf-options select{width:100%}.pdf-tool iframe{display:block;width:100%;height:60vh;min-height:320px;border:1px solid #d9c4c8;border-radius:12px;background:#fff}
.pdf-tool #pdf-preview{margin-top:24px}.pdf-tool #pdf-form{max-width:900px}.pdf-tool input[type=file]{width:100%;white-space:normal;overflow-wrap:anywhere}
dialog.contact-preview{border:0;background:transparent;margin:0;max-width:none;max-height:none;width:100%;height:100dvh}
dialog.contact-preview:not([open]){display:none}dialog.contact-preview::backdrop{background:#0007}
dialog.contact-preview .actions>.btn:not(.secondary){grid-column:1/-1}
dialog.contact-preview .actions>*{white-space:normal;text-align:center}
.contact-file-info{font-size:14px;overflow-wrap:anywhere;border:1px solid #edd9dd;background:#fff5f6;padding:12px;border-radius:10px}
.reference-photo picture,.reference-photo img{display:block;width:100%;height:100%;object-fit:cover}
.quality-steps{display:flex;gap:12px 24px;flex-wrap:wrap;padding:16px 0;font-size:14px;font-weight:700;color:#9d0b15;list-style:none;margin:0}
.privacy-page p,.privacy-page li{max-width:75ch}
@media(max-width:600px){.catalog-panel{padding:18px;margin-block:20px}.catalog-panel #catalog-results{grid-template-columns:minmax(0,1fr)}.catalog-filters,.pdf-options{grid-template-columns:minmax(0,1fr)}.catalog-card .actions{align-items:stretch}.catalog-card .actions>*{width:100%}.quality-steps{gap:8px 16px}}

.catalog-card{scroll-margin-top:110px}
@media(max-width:600px){.catalog-card{scroll-margin-top:86px}}

.pdf-tool :is(input,select,textarea){font-size:16px;border:1px solid #c7b9bd;border-radius:10px;padding:12px;background:#fff;color:#1e1e1e}.pdf-tool #pdf-preview{scroll-margin-top:24px}

/* L'aggiornamento non deve coprire il contatto di aiuto o i pannelli aperti. */
.update-notice{bottom:84px!important;max-width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow:auto}
.update-notice button{max-width:100%;white-space:normal}
body:has(#pv-chat-panel.pv-open)>.update-notice,body:has(.navlinks.open)>.update-notice{visibility:hidden}

/* Presenza dell’assistente locale: logo decorativo e breve indicatore di risposta. */
#pv-chat-log .pv-chat-msg:not(.pv-chat-user),#pv-chat-log .pv-chat-typing{position:relative;margin-left:32px;max-width:calc(100% - 32px)}
#pv-chat-log .pv-chat-msg:not(.pv-chat-user)::before,#pv-chat-log .pv-chat-typing::before{content:"";position:absolute;left:-32px;top:8px;width:24px;height:32px;background:url(image-ae0e5cd0dd.webp) center/contain no-repeat}
#pv-chat-log .pv-chat-typing{align-self:flex-start;flex-shrink:0;padding:14px 17px;margin-bottom:14px;border-radius:13px;background:#f0f0f3;min-height:46px}
.pv-chat-typing-dots{display:flex;align-items:center;gap:5px;height:18px}
.pv-chat-typing-dots>span{display:block;width:7px;height:7px;border-radius:50%;background:#77717a;animation:pv-chat-dot 1s ease-in-out infinite}
.pv-chat-typing-dots>span:nth-child(2){animation-delay:140ms}.pv-chat-typing-dots>span:nth-child(3){animation-delay:280ms}
@keyframes pv-chat-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
#pv-chat-question-form button:disabled{opacity:.55;cursor:wait}
@media(prefers-reduced-motion:reduce){.pv-chat-typing-dots>span{animation:none;opacity:.7}}

/* Movimento coerente e contenuti sempre leggibili. Navigazione nativa, con fallback automatico. */
@view-transition{navigation:auto}
main{view-transition-name:page-content}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-old(page-content){animation:pv-page-out .18s ease both}
::view-transition-new(page-content){animation:pv-page-in .24s ease both}
@keyframes pv-page-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes pv-page-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}
.home-header .navlinks.open,.home-service-menu[open] .home-service-links{animation:none}
#pv-chat-panel.pv-open{animation:none}
#pv-chat-log .pv-chat-next{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 14px 32px}
#pv-chat-log .pv-chat-next a{text-decoration:none}
.pv-chat-input-help{font-size:11px;line-height:1.35;color:#62616a;margin:7px 0 0}
.pv-chat-undo{background:#fff4f5;border:0;border-bottom:1px solid #eadadd;color:#a40713;min-height:40px;padding:8px 12px;font-size:13px;text-decoration:underline}
.print-choice{display:flex;flex-wrap:wrap;gap:12px;padding-top:20px}.print-choice>*{flex:1;text-align:center;min-width:160px}
.print-choice-note{font-size:14px;line-height:1.5;padding-block:14px;color:#555}
#strumento[hidden],#documenti-pdf[hidden],[hidden].form-undo,[hidden].pv-chat-undo{display:none!important}
#documenti-pdf,#strumento,#richiesta-cartuccia{scroll-margin-top:100px}
.label-guide{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block:18px}.label-guide>div{padding:16px;background:#fff5f6;border:1px solid #ecd8db;border-radius:12px}
.label-example{display:block;margin-block:12px;padding:14px;border:2px dashed #a90a16;border-radius:8px;font:700 13px monospace;overflow-wrap:anywhere}
.catalog-panel #catalog-more{margin-block:18px}.form-undo{padding:14px;background:#fff4f5;border-radius:10px}.form-undo button{min-height:44px;padding:8px}
.footer-extra>summary{font-weight:750;cursor:pointer;min-height:44px}.footer-extra-links{display:flex;flex-direction:column}.footer-extra-links a{min-height:36px}
.contact-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;list-style:none;margin-block:16px}.contact-checklist li{padding:10px;border:1px solid #ecd7da;border-radius:9px;font-size:14px}.contact-checklist strong{display:block}.contact-stage{font-size:13px;color:#a00b15;font-weight:700}
@media(min-width:651px){.footer-extra>summary{list-style:none;pointer-events:none}.footer-extra>summary::-webkit-details-marker{display:none}}
@media(max-width:600px){.label-guide{grid-template-columns:1fr}.contact-checklist{grid-template-columns:1fr 1fr}.print-choice{gap:8px}.print-choice .btn{padding-inline:12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(*),::view-transition-new(*){animation:none!important}.home-search-dialog[open]{animation:none!important}}
.pv-footer-column .footer-extra-links a{display:block;color:inherit;text-decoration:none;line-height:1.6;padding-block:5px}
.contact-checklist li{overflow-wrap:anywhere}
@media(max-width:650px){.pv-footer-grid{row-gap:22px}.footer-extra{border-top:1px solid #ecd8dc;padding-top:12px}}
.contact-checklist .contact-check-note{grid-column:1/-1;font-size:12px;line-height:1.4;padding:8px 10px}

/* La foto reale dell'isolotto resta intera: nessuna ricostruzione o ritaglio della costa. */
body[data-page=chi-siamo] .reference-editorial .reference-photo{align-self:center;width:100%;height:auto!important;min-height:0!important;aspect-ratio:1000/563;background:transparent}
body[data-page=chi-siamo] .reference-photo picture,body[data-page=chi-siamo] .reference-photo img{width:100%;height:100%;object-fit:contain}
