/* Rifiniture 1.2: misure fluide, contenuti leggibili e form nativo. */
.marisa26-orienter-copy h2,.marisa26-service-card--large h3,.marisa26-service-card--dark h3,.marisa26-service-card--dark a {color:#fff!important}
.marisa26-service-card p,.marisa26-proof p,.marisa26-section-head p,.marisa26-contact p,.marisa26-live-review-summary p {font-size:20px!important;line-height:1.5}
.marisa26-request-panel {background:#fff;border-radius:32px;padding:32px;min-width:0;scroll-margin-top:110px}
.marisa26-request-panel h3 {font-size:28px;line-height:1.2;margin:0 0 20px}
.marisa26-request-panel .marisa26-options {gap:8px}
.marisa26-request-panel .marisa26-option {min-height:48px;padding:12px 18px;font-size:20px;line-height:1.3;color:#202622!important}
.marisa26-request-panel .marisa26-option:hover {background:#fbe164!important}
.marisa26-request-panel [hidden] {display:none!important}
.marisa26-request-panel .forminator-ui {margin:0!important;font-family:inherit!important}
.marisa26-request-panel .forminator-label,.marisa26-request-panel .forminator-input,.marisa26-request-panel .forminator-select,.marisa26-request-panel select,.marisa26-request-panel .forminator-checkbox-label,.marisa26-request-panel .forminator-button,.marisa26-request-panel .forminator-response-message {font-size:20px!important;line-height:1.4!important;font-family:inherit!important}
.marisa26-request-panel .forminator-input {min-height:48px;border-radius:12px!important}
.marisa26-request-panel .forminator-row {margin-bottom:14px!important}
.marisa26-request-panel .forminator-button-submit {background:#008557!important;color:white!important;padding:14px 24px!important;border-radius:24px!important}
.marisa26-request-panel .forminator-error-message {font-size:18px!important}
.marisa26-orienter:has([data-request-form]:not([hidden])) {height:auto!important;min-height:100svh;max-height:none!important}
.marisa26-orienter:has([data-request-form]:not([hidden])) .marisa26-shell {height:auto!important}
.marisa26-live-review-card {height:auto!important;min-height:300px;max-height:none!important}
.marisa26-live-review-card blockquote {font-size:20px;line-height:1.5}
.marisa26-reviews-elementor {height:auto!important;min-height:100svh}
.marisa26-reviews-panel {height:auto!important}
.marisa26-detail-link {margin-top:20px;font-size:20px}
.marisa26-footer-nav p a {font-size:14px!important}
.marisa26-hero-cta {grid-template-columns:1fr!important;width:max-content!important;max-width:100%}
.marisa26-hero-cta .marisa26-btn {font-size:20px!important}
.marisa26-asl h2 {font-weight:400!important;line-height:1.35}
.marisa26-asl h2 strong {font-weight:700}
/* Il menu resta visibile anche senza un hamburger: seconda riga compatta. */
@media(max-width:1320px){
 .marisa26-nav,.marisa26-nav.is-scrolled {grid-template-columns:1fr auto;grid-template-areas:'brand actions' 'menu menu';gap:8px;padding:10px 16px}
 .marisa26-brand {grid-area:brand}
 .marisa26-nav-actions {grid-area:actions}
 .marisa26-menu {grid-area:menu;display:flex!important;width:100%;justify-content:center;padding:4px}
 .marisa26-menu a {padding:8px 12px;font-size:16px}
}
/* Sotto 1100 px la composizione diventa un layout in flusso: mai foto sopra testo. */
/* Preflight: il menu su due righe deve lasciare liberi titolo e volto. */
@media (min-width:1101px) and (max-width:1320px) {
 .marisa26-hero-panel {min-height:840px}
 .marisa26-hero-copy,.marisa26-hero-message {top:216px}
 .marisa-2026-active .marisa26-hero-person {top:200px;height:calc(100% - 200px);left:50%;transform:translateX(-50%);max-width:42%}
}
@media(max-width:1100px){
 .marisa26-hero-panel {display:flex;flex-direction:column;height:auto!important;min-height:0!important;padding:190px 32px 32px;background:#f3f9f6}
 .marisa26-hero-grid {position:relative!important;inset:auto!important;display:flex!important;flex-direction:column;min-height:0!important}
 .marisa26-hero-copy,.marisa26-hero-message {position:static!important;width:auto!important;transform:none!important;padding:0}
 .marisa26-hero h1 {font-size:clamp(40px,6vw,64px);max-width:700px}
 .marisa26-hero-copy .marisa26-kicker {font-size:20px}
 .marisa26-hero-cta {margin:24px 0 32px!important}
 .marisa26-hero-message {background:#008557;border-radius:24px;padding:24px!important;margin-top:0;order:2}
 .marisa26-hero-message h2 {font-size:32px}
 .marisa26-hero-message p {width:auto!important;font-size:20px!important}
 .marisa-2026-active .marisa26-hero-person {position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;height:340px!important;width:100%!important;object-fit:contain;margin:24px 0;order:2}
 .marisa26-hero-card {position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;min-height:0!important;margin:0;padding:24px}
 .marisa26-hero-card--asl {order:1;margin-top:24px}
.marisa26-hero-card--asl h3 br {display:initial}
 .marisa26-hero-card--asl p {font-size:20px}
 .marisa26-hero-card--reviews {display:none}
 .marisa26-pill,.marisa26-hero-mark {display:none!important}
 .marisa26-services,.marisa26-why,.marisa26-asl,.marisa26-orienter,.marisa26-contact {height:auto!important;min-height:0!important;max-height:none!important;padding:100px 0 48px}
 .marisa26-asl-inner {padding:0 24px}
 .marisa26-service-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto!important}
 .marisa26-service-card,.marisa26-service-card--large {grid-row:auto!important;grid-column:auto!important;min-height:360px}
 .marisa26-why-card,.marisa26-orienter-grid,.marisa26-contact-grid {grid-template-columns:1fr!important;height:auto!important}
 .marisa26-why-photo {height:340px;min-height:0!important}
 .marisa26-why-photo img {object-position:center 25%}
 .marisa26-review-layout {grid-template-columns:1fr!important}
 .marisa26-review-controls {margin-left:0!important}
}
@media(max-width:600px){
 .marisa26-nav,.marisa26-nav.is-scrolled {width:calc(100% - 24px);top:12px;grid-template-columns:1fr auto;grid-template-areas:'brand phone' 'toggle toggle' 'menu menu';padding:8px 12px;gap:6px}
 .marisa26-nav-actions {display:contents}
 .marisa26-nav .marisa26-btn {grid-area:phone}
 .marisa26-nav .marisa26-location-toggle {grid-area:toggle}
 .marisa26-nav.is-scrolled .marisa26-location-toggle {display:none}
 .marisa26-menu {overflow-x:auto;justify-content:flex-start;min-width:0;max-width:100%}
 .marisa26-menu a {font-size:14px;padding:8px 9px;white-space:nowrap}
 .marisa26-brand-full {width:136px}
 .marisa26-hero-panel {padding:210px 20px 24px}
 .marisa26-hero h1 {font-size:40px}
 .marisa26-hero-copy .marisa26-kicker {font-size:20px;line-height:1.4}
 .marisa26-hero-message {display:none}
 .marisa26-hero-person {order:2}
 .marisa26-service-grid {grid-template-columns:1fr}
 .marisa26-service-card,.marisa26-service-card--large {min-height:340px!important;padding:24px}
 .marisa26-service-card img {max-height:210px!important;max-width:70%!important}
 .marisa26-section-head h2,.marisa26-why-copy h2,.marisa26-contact h2,.marisa26-orienter-copy h2 {font-size:36px!important}
 .marisa26-asl h2 {font-size:30px!important}
 .marisa26-why-copy,.marisa26-reviews-panel,.marisa26-request-panel {padding:24px!important}
 .marisa26-live-review-grid {grid-template-columns:1fr}
 .marisa26-live-review-card:nth-child(2) {display:none}
 .marisa26-proof-grid {grid-template-columns:1fr}
 .marisa26-footer-nav {gap:18px}
}
/* Focus visibile su tastiera, indipendente dallo stato hover. */
.marisa26-detail-nav {max-width:1280px;margin:24px auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#eff7f3;border-radius:32px}
.marisa26-detail-nav img {width:220px}
.marisa26-detail-nav nav {display:flex;gap:24px;flex-wrap:wrap}
.marisa26-detail {max-width:1120px;margin:auto;padding:70px 24px;font:20px/1.6 Poppins,sans-serif;color:#202622}
.marisa26-detail h1 {font-size:clamp(38px,5vw,64px);line-height:1.1;margin:20px 0 36px}
.marisa26-detail h2 {font-size:30px;margin:32px 0 20px}
.marisa26-detail a:not(.marisa26-btn) {color:#006c48;text-decoration:underline}
.marisa26-detail-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0}
.marisa26-detail-grid article {padding:28px;background:#eff7f3;border-radius:28px}
.marisa26-detail-footer {padding:32px 24px;background:#202622;color:white;text-align:center;font-size:16px}
.marisa26-detail-footer a {color:white}
@media(max-width:700px){.marisa26-detail-nav {flex-wrap:wrap;margin:12px}.marisa26-detail-nav nav {order:3;width:100%;gap:18px}.marisa26-detail-nav img {width:150px}.marisa26-detail-nav .marisa26-btn {font-size:16px;padding:12px}.marisa26-detail-grid {grid-template-columns:1fr}.marisa26-detail {padding-top:36px}}
.marisa-2026-active :is(a,button,input,select):focus-visible {outline:3px solid #006c48;outline-offset:4px}
/* Evita colonne implicite nello switch della scheda contatti. */
.marisa26-service-title-link {color:inherit!important;text-decoration:none}
.marisa26-service-title-link:hover {text-decoration:underline}
.marisa26-contact-grid > * {min-width:0}
.marisa26-address {grid-template-columns:minmax(0,1fr);min-width:0}
.marisa26-address .marisa26-contact-toggle {grid-area:auto;max-width:100%}
@media(max-width:1100px){.marisa26-contact-grid {grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:380px){.marisa26-menu {display:grid!important;grid-template-columns:1fr 1fr}.marisa26-nav .marisa26-brand-full {width:110px}}

/* Chiusura QA: separare immagini e testo sui dispositivi stretti. */
.marisa26-map[hidden], [data-load-map][hidden], [data-map-notice][hidden] {display:none!important}
.marisa26-address [data-load-map] {background:#fff!important;color:#006c48!important;border:1px solid #008557;font:600 20px/1.4 Poppins,sans-serif;border-radius:24px;padding:12px 20px}
.marisa26-request-panel {position:relative;z-index:3}
.marisa26-orienter-copy h2 {font-weight:700!important}
.marisa-2026-active .cmplz-cookiebanner {border-radius:24px!important;border:1px solid #c6dfd5!important;box-shadow:0 12px 40px #003b2820!important;font-family:Poppins,sans-serif!important;max-height:85svh;overflow-y:auto}
.marisa-2026-active .cmplz-cookiebanner .cmplz-message {font-size:20px!important;line-height:1.45!important}
.marisa-2026-active .cmplz-cookiebanner .cmplz-btn {font:600 18px/1.3 Poppins,sans-serif!important;border-radius:16px!important;min-height:48px}
.marisa-2026-active .cmplz-cookiebanner :is(.cmplz-accept,.cmplz-deny) {background:#008557!important;border-color:#008557!important;color:#fff!important}
.marisa-2026-active .cmplz-cookiebanner :is(.cmplz-view-preferences,.cmplz-save-preferences) {background:#eff7f3!important;border-color:#c6dfd5!important;color:#006c48!important}
@media(max-width:1100px){
 .marisa26-service-card {display:flex;flex-direction:column;gap:12px;height:auto!important;min-height:0!important}
 .marisa26-service-card img {position:static!important;align-self:center;width:100%!important;height:220px!important;max-width:100%!important;max-height:220px!important;margin:12px 0;object-fit:contain}
 .marisa26-service-card .marisa26-card-link {position:static;align-self:flex-start;margin-top:auto;font-size:20px}
 .marisa26-why-photo {height:clamp(340px,65vw,520px)!important}
 .marisa26-why-photo > img:first-child {object-position:center top!important}
 .marisa26-orienter-copy {isolation:isolate}
 .marisa26-orienter-mark {z-index:-1;bottom:-50px;width:320px}
}
@media(max-width:600px){
 .marisa26-service-card,.marisa26-service-card--large {min-height:0!important}
 .marisa26-review-controls {flex-wrap:wrap}
 .marisa26-review-cta {width:100%;margin:8px 0 0;font-size:20px}
 .marisa26-address {min-height:0}
}

/* Riserva spazio al testo e ai link nelle card compatte desktop. */
@media(min-width:1101px){
 .marisa26-service-card--ice img {height:28%;bottom:6px;right:4%}
 .marisa26-service-card--mint img {height:24%;bottom:52px;right:4%}
 .marisa26-service-card--dark img {height:40%;bottom:52px;right:4%}
}

/* Review 03/11: stessa griglia fluida per hero, navigazione e contenuti. */
body.marisa-2026-active {--marisa-grid-max:100%;--marisa-panel-max:100%;--marisa-grid-gutter:clamp(24px,4vw,96px)}
.marisa-2026-active .marisa26-shell,
.marisa-2026-active .marisa26-nav,
.marisa-2026-active .marisa26-nav.is-scrolled {width:calc(100% - var(--marisa-grid-gutter) * 2);max-width:none}
.marisa26-hero > .marisa26-shell {width:calc(100% - 40px)}
.marisa26-asl-inner {max-width:none;width:calc(100% - var(--marisa-grid-gutter) * 2)}
.marisa26-orienter-grid,.marisa26-contact-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px)}
/* Nessun numero decorativo: la categoria identifica già ciascun prodotto. */
.marisa26-service-card::before {display:none}
.marisa26-service-card {display:flex;flex-direction:column;gap:10px;min-width:0}
.marisa26-service-card h3 {font-size:clamp(22px,1.6vw,30px);line-height:1.18}
.marisa26-service-card p {max-width:38ch;margin:0;line-height:1.4!important}
.marisa26-service-card img {position:static!important;align-self:center;flex:1 1 0;min-height:80px;width:100%!important;max-width:100%!important;height:0!important;max-height:none!important;object-fit:contain;margin:0!important}
.marisa26-service-card--large img {min-height:200px}
.marisa26-service-card .marisa26-card-link {position:static;flex:none;align-self:flex-start;margin:0;font-size:18px;line-height:1.4}
.marisa26-service-card--large {color:#fff}
.marisa26-service-card--large .marisa26-card-link {color:#006b47!important;background:#fff}
.marisa26-service-card--dark {color:#fff}
.marisa26-service-card--dark .marisa26-card-link {color:#fff!important}
.marisa26-service-card--yellow,.marisa26-service-card--ice,.marisa26-service-card--mint {color:#202321}
@media(min-width:1321px){
 .marisa26-services {height:auto;min-height:100svh;max-height:none;overflow:visible;padding-top:110px}
 .marisa26-service-grid {flex:auto;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(270px,calc((100svh - 330px)/2)))}
 .marisa26-services .marisa26-shell {height:auto}
 .marisa26-hero-copy {left:4%;width:34%}
 .marisa26-hero h1 {max-width:100%;font-size:clamp(48px,4vw,76px)}
 .marisa26-hero-message {right:4%;width:24%}
 .marisa26-hero-message p {width:auto;max-width:30ch;color:#fff}
 .marisa26-hero-message h2 {font-size:clamp(30px,2.4vw,44px)}
 .marisa-2026-active .marisa26-hero-person {left:50%;transform:translateX(-50%);top:140px;height:calc(100% - 140px);max-width:44%;object-fit:contain}
 .marisa26-hero-card--asl {left:3%;width:26%;max-width:420px}
 .marisa26-hero-card--reviews {right:3%;width:25%;max-width:400px}
}
@media(max-width:1320px){
 .marisa26-service-grid {grid-template-rows:auto!important;grid-auto-rows:auto}
 .marisa26-service-card,.marisa26-service-card--large {grid-column:auto!important;grid-row:auto!important;min-height:400px!important}
 .marisa26-service-card img {flex:1 0 180px;min-height:180px;max-height:260px!important}
}
@media(max-width:780px){
 body.marisa-2026-active {--marisa-grid-gutter:12px}
 .marisa26-hero > .marisa26-shell {width:calc(100% - 24px)}
 .marisa26-asl-inner {padding:0 12px}
}

/* Telefono: sede e azione restano sulla prima riga anche durante lo scroll. */
@media (max-width:600px) {
 .marisa26-nav.is-scrolled {grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"brand toggle phone" "menu menu menu";border-radius:22px}
 .marisa26-nav.is-scrolled .marisa26-location-toggle {display:grid}
 .marisa26-nav.is-scrolled .marisa26-menu {gap:0;justify-content:space-evenly}
 .marisa26-nav.is-scrolled .marisa26-menu a {padding-inline:6px}
 .marisa26-services {padding-top:145px}
}
@media (max-width:380px) {
 .marisa26-services {padding-top:185px}
}
/* Pagine editoriali: testo leggibile e immagini del negozio nel loro formato. */
.marisa26-detail {padding-top:32px}
.marisa26-detail > p,.marisa26-detail > ul {max-width:70ch}
.marisa-crumb {font-size:16px;line-height:1.6;margin-bottom:28px}
.marisa-editorial-photo {max-width:760px;margin:32px 0}
.marisa-editorial-photo img {max-width:100%;height:auto;border-radius:18px}
.marisa-editorial-photo figcaption {font-size:16px;margin-top:8px}
.marisa26-detail-nav {flex-wrap:wrap}
.marisa26-detail .cmplz-consent-area {min-height:160px}
.marisa26-detail iframe {width:100%;border:0}
.marisa-guide-cover {display:block;width:100%;max-width:700px;height:clamp(160px,18vw,260px);object-fit:contain;background:#fff;border-radius:14px}
.marisa26-detail-grid .marisa-guide-cover {height:160px}

/* Feedback 05/11: una superficie in vetro unica anche prima dello scroll. */
.marisa26-nav:not(.is-scrolled){
 padding:12px 18px;border:1px solid rgba(255,255,255,.8);border-radius:32px;
 background:linear-gradient(120deg,rgba(255,255,255,.88),rgba(234,243,239,.75));
 -webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%);
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(255,255,255,.5),0 12px 36px rgba(0,62,41,.12);
}
.marisa26-nav:not(.is-scrolled) .marisa26-menu{background:rgba(255,255,255,.3);box-shadow:none;border-color:rgba(0,107,71,.1)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .marisa26-nav:not(.is-scrolled){background:#f3f8f5}
}
@media(max-width:700px){.marisa26-nav:not(.is-scrolled){padding:10px 12px;border-radius:24px}}
.marisa26-request-steps{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0;margin:0 0 24px;list-style:none;font-size:16px;color:#51695d}
.marisa26-request-steps li{display:flex;align-items:center;gap:8px}
.marisa26-request-steps span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #a4b9ad;border-radius:50%}
.marisa26-request-steps [aria-current]{color:#005d42;font-weight:600}
.marisa26-request-steps [aria-current] span{background:#005d42;color:white}
.marisa26-request-back{padding:10px 0;min-height:48px;border:0;background:none!important;color:#005d42!important;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.marisa26-request-summary{padding:12px 16px;background:#eaf3ef;border-radius:14px;color:#005d42;font-weight:600;line-height:1.5}
.marisa26-request-panel .marisa26-request-help{font-size:16px;line-height:1.5;margin-bottom:20px}
.marisa26-request-panel :is(button,input,select):focus-visible{outline:3px solid #005d42;outline-offset:3px}
.marisa26-request-panel :is(h3,p){letter-spacing:normal}
.marisa26-request-panel .forminator-row:has(.forminator-field[hidden]){display:none!important}
.marisa26-request-panel .forminator-select2 + .select2-container{max-width:100%}

.marisa26-request-panel{scroll-margin-top:160px}
.marisa26-request-panel .forminator-ui :is(input:not([type=checkbox]):not([type=hidden]),select){
 background:white!important;color:#202321!important;border:1px solid #789782!important;
 box-shadow:none!important;border-radius:12px!important;padding:12px!important;min-height:52px
}
.marisa26-request-panel .forminator-ui .forminator-has_error :is(input,select){border-color:#a32c25!important}
.marisa26-request-panel .forminator-ui .forminator-button-submit{box-shadow:none!important;border-radius:16px!important}
