/* Scoped to the last page. The approved introduction and galleries are unchanged. */
#preventivo .contact-direct .contact-phone,#preventivo .contact-mailboxes .contact-email{min-height:48px;padding:10px 14px;border:1px solid #874151;border-radius:4px;background:linear-gradient(110deg,#32131d,#100b0e);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ae6678;transition:background .2s,border-color .2s;touch-action:manipulation}
#preventivo .contact-direct .contact-phone:hover,#preventivo .contact-mailboxes .contact-email:hover{border-color:#f0718b;background:#481b29;color:#fff}
#preventivo .contact-mailboxes .contact-email:before{content:'✉';display:inline-block;margin-right:10px;color:#f08ba1}
#preventivo .contact-action-help{max-width:390px;margin-top:8px;padding:10px 12px;border-left:2px solid #b04a63;background:#1b1015}
#preventivo .contact-action-help[hidden]{display:none}
#preventivo .contact-action-help p{font-size:12px;line-height:1.5;color:#e0d5d9;margin:0 0 8px}
#preventivo .contact-action-help button{font:inherit;font-size:12px;color:#fff;padding:7px 12px;min-height:36px;border:1px solid #b76b7f;background:#401c29;border-radius:3px}
#preventivo .contact-action-help [role=status]{font-size:12px;margin-left:8px}
#preventivo .contact-mailboxes{display:grid;gap:15px;margin:16px 0 20px;min-width:0}
#preventivo .contact-mail-label{display:block;color:#cbbbc1;font-size:12px;letter-spacing:.035em;margin-bottom:4px}
#preventivo .contact-mailboxes .contact-email{display:inline-block;margin:0;max-width:100%;overflow-wrap:anywhere;font-size:clamp(14px,1.35vw,20px);line-height:1.5}
.persistent-brand-enabled main>#preventivo{height:auto;min-height:calc(100svh - var(--header-height));overflow:visible;align-items:start;grid-template-rows:auto auto;gap:24px 36px;padding-top:32px;padding-bottom:28px}
#preventivo .contact-copy{align-self:start;padding-top:8px;min-width:0}
#preventivo .contact-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:36rem;display:block}
#preventivo .contact-copy .contact-note{font-size:.875rem;display:block}
#preventivo .consultation-steps{padding:0;margin:24px 0;list-style:none;border-top:1px solid #553039}
#preventivo .consultation-steps li{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #38242b;font-size:1rem;color:#f5edf0}
#preventivo .consultation-steps span{font-size:.875rem;color:#ff8191;letter-spacing:2px}
#preventivo .quote-form{align-self:start;padding:24px;max-width:none}
#preventivo h3{font-family:var(--display,sans-serif);font-size:clamp(23px,2.2vw,30px);font-weight:400;line-height:1.25;margin:0 0 10px;color:#fff;text-shadow:0 0 12px #ffffff20}
#preventivo .consultation-intro{font-size:1rem;line-height:1.55;color:#d8ccd1;margin:0 0 20px}
#preventivo label{font-size:.875rem;line-height:1.45;margin-bottom:12px}
#preventivo input,#preventivo select,#preventivo textarea{font-size:1rem;min-height:44px;padding:10px;max-width:100%}
#preventivo textarea{height:auto;min-height:72px}
#preventivo details{border-top:1px solid #553039;border-bottom:1px solid #553039;margin:14px 0}
#preventivo summary{cursor:pointer;padding:14px 4px;color:#f6edef;font-size:1rem;line-height:1.4}
#preventivo .service-picker{border:0;margin:18px 0}
#preventivo .service-picker>.catalog-toggle{display:grid;grid-template-columns:minmax(0,1fr) calc(clamp(110px,10vw,145px) + 38px) 24px;align-items:center;gap:24px;width:100%;box-sizing:border-box;min-height:84px;padding:18px 20px;list-style:none;border:1px solid #f26b80;border-radius:6px;background:linear-gradient(90deg,#791b30 0%,#571323 30%,#18090e 55%,#030203 75%,#000 100%);color:#fff;box-shadow:0 0 14px #ed34532b,inset 0 1px #ffffff12;transition:background .2s,border-color .2s,box-shadow .2s}
#preventivo .catalog-brand{grid-column:2;grid-row:1;display:block;width:calc(100% - 38px);height:auto;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.4) contrast(1.04);pointer-events:none}
#preventivo .catalog-toggle::-webkit-details-marker{display:none}
#preventivo .catalog-toggle::marker{content:""}
#preventivo .catalog-toggle-copy{grid-column:1;grid-row:1;min-width:0;text-align:left}
#preventivo .catalog-toggle strong{display:block;font-size:1.0625rem;font-weight:600;line-height:1.4}
#preventivo .catalog-toggle small{display:block;margin-top:5px;font-size:.875rem;line-height:1.5;color:#fae2e8}
#preventivo .catalog-chevron{grid-column:3;grid-row:1;flex:0 0 24px;transition:transform .2s}
@media(max-width:600px){#preventivo .service-picker>.catalog-toggle{grid-template-columns:minmax(0,1fr) 158px 24px;gap:12px 20px}#preventivo .catalog-toggle-copy{grid-column:1/-1;grid-row:1}#preventivo .catalog-brand{grid-column:2;grid-row:2}#preventivo .catalog-chevron{grid-column:3;grid-row:2}}
#preventivo .service-picker .catalog-open{display:none}
#preventivo .service-picker[open]>.catalog-toggle .catalog-open{display:block}
#preventivo .service-picker[open]>.catalog-toggle .catalog-closed{display:none}
#preventivo .service-picker[open]>.catalog-toggle .catalog-chevron{transform:rotate(180deg)}
#preventivo .service-picker>.catalog-toggle:active{background:linear-gradient(90deg,#5a1324 0%,#360d17 30%,#10070b 55%,#000 75%)}
#preventivo .service-picker>.catalog-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(hover:hover){#preventivo .service-picker>.catalog-toggle:hover{background:linear-gradient(90deg,#90243c 0%,#64192a 30%,#1d0b12 55%,#030203 75%,#000 100%);border-color:#ff9faf;box-shadow:0 0 18px #ed34534d,inset 0 1px #ffffff20}}
@media(prefers-reduced-motion:reduce){#preventivo .catalog-chevron,#preventivo .service-picker>.catalog-toggle{transition:none}}
#preventivo details p{font-size:.875rem;line-height:1.65;color:#cdbfc5;margin:10px 4px 16px}
#preventivo .consultation-details a{display:inline-block;font-size:.875rem;margin:0 4px 16px;text-decoration:underline;text-underline-offset:4px}
#preventivo .service-picker fieldset{border:0;padding:0 0 14px;margin:0;min-width:0}
#preventivo .service-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#preventivo .service-checks label{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px;margin:0;background:#171013;border:1px solid #49303b;cursor:pointer;overflow-wrap:anywhere}
#preventivo .service-checks label:has(:checked){border-color:#f25871;background:#34131d}
#preventivo .service-checks input{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:none;accent-color:#d61736}
#preventivo .classical-group{grid-column:1/-1;min-width:0}
#preventivo .classical-group #classical-options{margin:14px 0 4px;padding:12px;border-left:2px solid #e7637d;background:#170d12}
#preventivo #classical-options[hidden]{display:none}
#preventivo #classical-options legend{padding:0 8px;font-size:1rem;color:#f6e9ee}
#preventivo .classical-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:480px){#preventivo .classical-checks{grid-template-columns:1fr}}
#preventivo .effects-group{grid-column:1/-1;min-width:0}
#preventivo .effects-group #effects-options{margin:14px 0 4px;padding:12px;border-left:2px solid #e7637d;background:#170d12}
#preventivo #effects-options[hidden]{display:none}
#preventivo #effects-options legend{padding:0 8px;font-size:1rem;color:#f6e9ee}
#preventivo .effects-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#preventivo .service-checks .effects-description{display:block;background:none;border:0;padding:0;cursor:default}
#preventivo #effects-description{display:block;width:100%;resize:vertical}
@media(max-width:480px){#preventivo .effects-checks{grid-template-columns:1fr}}
#preventivo .selection-summary{font-size:.875rem;line-height:1.6;color:#eee4e8;overflow-wrap:anywhere;margin:12px 0 6px}
#preventivo .estimate-note{font-size:.875rem;line-height:1.5;color:#baacb3;margin:0 0 16px}
#preventivo .service-price{display:block;margin-top:4px;color:#e8bac5;font-size:.8125rem;line-height:1.4}
#preventivo .price-estimate{margin:16px 0;padding:16px;border:1px solid #79404d;background:linear-gradient(120deg,#28111a,#110c10)}
#preventivo .price-estimate p{font-size:.875rem;line-height:1.5;margin:0;color:#ddd0d5}
#preventivo #estimate-amount{display:block;margin:8px 0;font-size:clamp(24px,2.8vw,34px);color:#fff;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#preventivo .price-pending-details p{font-size:.875rem;line-height:1.6;padding:12px;border-left:2px solid #f17b92;background:#20131a;color:#f0e2e7;margin:12px 0}
#preventivo .price-pending-details [hidden]{display:none}
#preventivo .consultation-notice{font-size:.875rem;line-height:1.6;color:#f4e8ec;border-left:2px solid #e44861;padding:10px 12px;background:#221218;margin:12px 0}
#preventivo .form-note{font-size:.875rem;line-height:1.5}
#preventivo .form-note a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#preventivo .form-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
#preventivo .form-actions .button{font-size:.875rem;min-height:44px;padding:12px 16px;white-space:normal;text-align:center;justify-content:center}
#preventivo .form-status{font-size:.875rem;line-height:1.5}
#preventivo .form-status:empty{display:none}
#preventivo .consultation-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #44303a;padding-top:20px;font-size:.875rem;color:#c6b9bf}
#preventivo .consultation-footer nav{display:flex;gap:18px;flex-wrap:wrap}
#preventivo .consultation-footer a{text-decoration:underline;text-underline-offset:4px}
#preventivo :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #ff8098;outline-offset:4px}
#preventivo .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.persistent-brand-enabled main>#preventivo{grid-template-columns:1fr}.persistent-brand-enabled #preventivo .contact-copy>p{max-width:none}#preventivo .quote-form{padding:20px}}
@media(max-width:480px){#preventivo .form-row,#preventivo .service-checks{grid-template-columns:1fr}#preventivo .quote-form{padding:16px}#preventivo .consultation-footer nav{flex-direction:column;gap:14px}}
.information-page{margin:0;background:#090709;color:#efe7ea;font:16px/1.7 system-ui,sans-serif;color-scheme:dark}
.information-page *{box-sizing:border-box}
.information-page header,.information-page main,.information-page footer{max-width:900px;margin:auto;padding:28px clamp(18px,4vw,40px)}
.information-page header{border-bottom:1px solid #53313b;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.information-page a{color:#ffabb9;text-underline-offset:4px}
.information-page h1{font-size:clamp(26px,5vw,42px);line-height:1.25}
.information-page h2{font-size:24px}.information-page h3{font-size:20px}
.information-page section{padding:22px 0;border-bottom:1px solid #433039;scroll-margin-top:24px}
.information-page nav{display:flex;gap:20px;flex-wrap:wrap}
.information-page .legal-draft{padding:18px;border-left:3px solid #ed6680;background:#27161e}
.information-page footer{font-size:14px;overflow-wrap:anywhere}

/* Trial: the catalog opens in the top layer without expanding the contact page. */
html.catalog-modal-open,html.catalog-modal-open body{overflow:hidden;overscroll-behavior:none}
#preventivo .service-picker>.catalog-toggle{font:inherit;text-align:left;cursor:pointer}
#preventivo #catalog-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(850px,calc(100vw - 48px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;padding:0;border:1px solid #ae3a50;border-radius:10px;background:#100b0e;color:#fff;box-shadow:0 18px 90px #000b;overflow:hidden;overscroll-behavior:contain}
#preventivo #catalog-dialog:not([open]){display:none}
#preventivo #catalog-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:catalog-slide-in .36s cubic-bezier(.2,.8,.2,1) both}
#preventivo #catalog-dialog.is-closing{animation:catalog-slide-out .22s ease-in both;pointer-events:none}
#preventivo #catalog-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
#preventivo .catalog-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid #59303b;background:linear-gradient(100deg,#42101e,#070507 75%)}
#preventivo .catalog-dialog-header>div{display:flex;align-items:center;gap:24px;min-width:0;flex:1}
#preventivo .catalog-dialog-header h3{margin:0;font-size:clamp(20px,2.2vw,26px);text-shadow:0 0 10px #ffffff24}
#preventivo .catalog-dialog-header img{display:block;width:120px;height:auto;margin-left:auto;mix-blend-mode:screen;filter:brightness(1.4) contrast(1.04)}
#preventivo #catalog-close{flex:0 0 44px;width:44px;height:44px;cursor:pointer;border:1px solid #88515e;background:#1a1016;border-radius:4px;color:white;font-size:28px;line-height:1}
#preventivo .catalog-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 22px;scrollbar-width:thin;scrollbar-color:#ab455d #170e13;scrollbar-gutter:stable}
#preventivo .catalog-dialog-body #services-help{margin:0 0 14px;font-size:.875rem;line-height:1.5;color:#decdd4}
#preventivo .catalog-dialog-body .service-checks>label{min-height:62px;padding:10px 12px;border-radius:4px;font-size:1rem;color:#fff}
#preventivo .catalog-dialog-body .service-checks label{transition:border-color .15s,background .15s}
#preventivo .catalog-dialog-footer{padding:14px 22px max(14px,env(safe-area-inset-bottom));border-top:1px solid #79404d;background:#1c0e15;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 22px}
#preventivo .catalog-dialog-total p{font-size:.8125rem;line-height:1.4;margin:0;color:#e2cfd8}
#preventivo #catalog-estimate-amount{display:block;font-size:clamp(24px,3vw,32px);line-height:1.25;font-variant-numeric:tabular-nums;color:white;margin:4px 0}
#preventivo #catalog-confirm{min-height:46px;padding:12px 18px;font-size:.9375rem;white-space:normal;text-align:center;cursor:pointer}
#preventivo .catalog-confirm-hint{grid-column:1/-1;font-size:.75rem;line-height:1.4;margin:0;color:#cdbbc4}
@keyframes catalog-slide-in{from{transform:translateX(85px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes catalog-slide-out{from{transform:translateX(0);opacity:1}to{transform:translateX(70px);opacity:0}}
@media(max-width:600px){
 #preventivo #catalog-dialog{width:100%;height:100dvh;border-radius:0;border-width:0}
 #preventivo .catalog-dialog-header{padding:12px 16px}
 #preventivo .catalog-dialog-header>div{gap:12px}
 #preventivo .catalog-dialog-header img{width:85px}
 #preventivo .catalog-dialog-body{padding:14px 16px}
 #preventivo .catalog-dialog-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:8px 12px}
 #preventivo #catalog-confirm{max-width:155px;font-size:.875rem;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){#preventivo #catalog-dialog[open],#preventivo #catalog-dialog.is-closing{animation:none}#preventivo .catalog-dialog-body .service-checks label{transition:none}}

/* Logos belong to the modal: visible only while its top layer is open. */
#preventivo #catalog-dialog{--catalog-rail-width:clamp(72px,11vw,160px);--catalog-rail-gap:12px;width:min(1194px,calc(100vw - 16px));background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden}
#preventivo #catalog-dialog[open]{grid-template-columns:var(--catalog-rail-width) minmax(0,1fr) var(--catalog-rail-width);grid-template-rows:minmax(0,1fr);column-gap:var(--catalog-rail-gap)}
#preventivo .catalog-modal-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #ae3a50;border-radius:10px;background:#100b0e;box-shadow:0 18px 60px #0009}
#preventivo .catalog-logo-rail{min-width:0;min-height:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent)}
#preventivo .catalog-logo-track{animation:catalog-logos-up 60s linear infinite;animation-play-state:paused;will-change:transform}
#preventivo #catalog-dialog[open] .catalog-logo-track{animation-play-state:running}
#preventivo .catalog-rail-group{display:flex;flex-direction:column;gap:12px;padding:0 0 12px}
#preventivo .catalog-rail-group img{display:block;flex:none;width:100%;height:clamp(60px,9vw,88px);object-fit:contain}
#preventivo #catalog-dialog.catalog-logos-paused .catalog-logo-track,.films-hidden #catalog-dialog .catalog-logo-track{animation-play-state:paused}
#preventivo #catalog-motion-toggle{flex:0 0 36px;width:36px;height:44px;padding:0;border:1px solid #63404c;border-radius:4px;background:#1a1016;color:#fff;cursor:pointer;font-size:18px}
.catalog-modal-open .film-rail{opacity:0;visibility:hidden}
.catalog-modal-open .film-logo-track{animation-play-state:paused}
@keyframes catalog-logos-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:800px){#preventivo .catalog-dialog-header{gap:8px}#preventivo .catalog-dialog-header img{width:80px}#preventivo .catalog-dialog-header>div{gap:8px}}
@media(max-width:600px){
 #preventivo #catalog-dialog{--catalog-rail-width:36px;--catalog-rail-gap:4px;width:100%;height:100dvh}
 #preventivo .catalog-modal-panel{border-radius:0;border-top:0;border-bottom:0}
 #preventivo .catalog-dialog-header{padding:12px 10px}
 #preventivo .catalog-dialog-header img{display:none}
 #preventivo .catalog-dialog-header h3{font-size:19px}
 #preventivo .catalog-dialog-body{padding:12px 10px}
 #preventivo .catalog-dialog-footer{padding-left:10px;padding-right:10px;grid-template-columns:minmax(0,1fr)}
 #preventivo #catalog-confirm{max-width:none;width:100%}
}
@media(prefers-reduced-motion:reduce){#preventivo .catalog-logo-track{animation:none;will-change:auto}#preventivo #catalog-motion-toggle{display:none}}

/* Direct calls and the dedicated WhatsApp Business number. */
#preventivo .contact-direct{display:grid;gap:18px;margin:18px 0}
#preventivo .contact-direct .contact-phone{display:inline-flex;align-items:center;gap:16px;margin:0;max-width:100%;font-size:clamp(25px,2.4vw,38px);line-height:1.3}
#preventivo .contact-whatsapp{display:flex;align-items:center;gap:14px;max-width:390px;padding:14px 16px;border:1px solid #367a52;border-radius:4px;background:#10231966;color:#fff;min-height:64px;transition:background .2s,border-color .2s}
.whatsapp-icon{display:inline-block;width:28px;height:28px;flex:none;color:#42d580}
#preventivo .contact-whatsapp-label{display:block;font-size:12px;color:#d3e9db;line-height:1.4;margin-bottom:3px}
#preventivo .contact-whatsapp strong{font-weight:500;font-size:clamp(20px,1.7vw,26px);letter-spacing:.03em}
#preventivo .contact-whatsapp-arrow{margin-left:auto;color:#80dba3}
#preventivo .contact-whatsapp:hover{background:#163e2780;border-color:#5dc589}
#preventivo .contact-whatsapp:focus-visible,#preventivo .contact-phone:focus-visible,#preventivo .contact-email:focus-visible{outline:2px solid white;outline-offset:4px}
.floating-contact .whatsapp-icon{width:20px;height:20px;vertical-align:middle}
@media(prefers-reduced-motion:reduce){#preventivo .contact-whatsapp{transition:none}}
