/* Homepage v2. Scoped to preserve the other pages and all commerce flows. */
.home-v2 { color: var(--er-ink); font-size: 1.0625rem; line-height: 1.65; overflow-wrap: anywhere; }
.home-container { width: min(1180px, calc(100% - 4rem)); margin-inline: auto; }
.home-v2 :is(h1,h2,h3) { margin: 0 0 1.25rem; font-family: var(--er-font); font-weight: 600; color: var(--er-ink); letter-spacing: -.03em; text-wrap: balance; }
.home-v2 h1 { max-width: 13ch; font-size: 3rem; font-weight: 650; line-height: 1.125; }
.home-v2 h2 { font-size: 2.125rem; line-height: 1.235; }
.home-v2 h3 { font-size: 1.375rem; line-height: 1.32; }
.home-v2 p { margin: 0 0 1.25rem; }
.home-v2 :is(p,li,.home-topic > div,.home-platform-intro) { color: var(--er-muted); }
.home-v2 strong { color: var(--er-ink); font-weight: 600; }
.home-v2 :is(p,li,.home-topic > div,.home-platform-intro) a { color: var(--er-action); text-decoration: underline; text-underline-offset: .2em; }
.home-v2 :is(p,li,.home-topic > div,.home-platform-intro) a:hover { color: var(--er-action-hover); }
.home-v2 ul { margin: 0; padding-left: 1.125rem; }
.home-v2 li + li { margin-top: .625rem; }
.home-v2 li::marker { color: var(--er-action); }
.home-v2 :is(a,button,summary):focus-visible, .product-viewer :focus-visible { outline: 3px solid var(--er-action); outline-offset: 4px; }
.home-opening { background: var(--er-canvas); padding: 3rem 0; }
.home-opening-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem,5vw,5rem); }
.home-eyebrow { font-size: .875rem; font-weight: 600; color: var(--er-action) !important; letter-spacing: .025em; }
.home-lead { max-width: 36rem; font-size: 1.0625rem; line-height: 1.65; }
.home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.home-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 3rem; padding: .75rem 1.25rem; border: 1px solid transparent; border-radius: .5rem; font-size: 1rem; line-height: 1.5; font-weight: 600; text-decoration: none; }
.home-button--primary { background: var(--er-action); color: #fff; }
.home-button--primary:hover { background: var(--er-action-hover); color: #fff; }
.home-button--secondary { background: #fff; color: var(--er-primary); border-color: var(--er-control-border); }
.home-button--secondary:hover { color: var(--er-action-hover); background: var(--er-secondary); border-color: var(--er-action); }
.home-text-link { display: inline-flex; gap: 1.5rem; align-items: center; min-height: 3rem; color: var(--er-action); text-decoration: underline; text-underline-offset: .2em; font-size: 1rem; font-weight: 600; }
.home-index { border-block: 1px solid var(--er-border); background: #fff; }
.home-index .home-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; padding-block: .5rem; }
.home-index a { display: flex; align-items: center; min-height: 3rem; padding: .625rem .25rem; font-size: .9375rem; font-weight: 500; color: var(--er-primary); }
.home-index a:hover { color: var(--er-action); text-decoration: underline; text-underline-offset: .2em; }
.home-section { padding-block: 4.5rem; scroll-margin-top: 1.5rem; }
.home-section--compact { padding-block: 3rem; }
.home-section--tint { background: var(--er-canvas); }
.home-section--line > .home-container { border-top: 1px solid var(--er-border); padding-top: 4.5rem; }
.home-section--line { padding-top: 0; }
.home-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.home-platform-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 5rem; }
.home-platform-intro { padding-top: .25rem; }
.home-platform-grid .home-topic h2 { max-width: 26ch; }
.home-feature-list ul { list-style: none; padding: 0; }
.home-feature-list li { padding: .75rem 0 .75rem 1.5rem; position: relative; border-bottom: 1px solid var(--er-border); }
.home-feature-list li + li { margin: 0; }
.home-feature-list li::before { content: ""; width: .375rem; height: .375rem; border: 1px solid var(--er-action); position: absolute; top: 1.4rem; left: 0; border-radius: 50%; }
.home-platform-details { display: grid; grid-template-columns: .95fr 1.05fr; gap: 5rem; align-items: start; margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--er-border); }
.home-platform-details .home-topic ul { padding: 0; list-style: none; }
.home-disclosure { border-top: 1px solid var(--er-border); }
.home-disclosure:last-child { border-bottom: 1px solid var(--er-border); }
.home-disclosure > summary { display: flex; gap: 1.5rem; justify-content: space-between; align-items: center; list-style: none; padding: 1.25rem 0; min-height: 3rem; cursor: pointer; font-size: 1.125rem; font-weight: 600; line-height: 1.5; color: var(--er-ink); }
.home-disclosure > summary::-webkit-details-marker { display: none; }
.home-disclosure > summary::after { content: "+"; display: grid; place-items: center; font-size: 1.5rem; font-weight: 400; line-height: 1; flex: 0 0 1.5rem; color: var(--er-action); }
.home-disclosure[open] > summary::after { content: "−"; }
.home-disclosure-body { padding: 0 0 1.5rem; max-width: 56rem; }
.home-disclosure-body ol { padding-left: 1.25rem; margin: 0; }
.home-why { border-top: 0; }
.home-why > summary { padding-top: 0; }
.home-section-intro { display: grid; grid-template-columns: .95fr 1.05fr; gap: 5rem; margin-bottom: 2rem; }
.home-section-intro h2 { max-width: 27ch; }
.home-section-intro ul { padding-top: .25rem; }
.product-shot { min-width: 0; margin: 0; border: 1px solid var(--er-border); border-radius: .75rem; background: #fff; box-shadow: 0 8px 28px rgb(29 39 51 / 5%); }
.product-shot figcaption { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 3.5rem; padding: .375rem 1.125rem; border-bottom: 1px solid var(--er-border); color: var(--er-ink); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.shot-open { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; flex-shrink: 0; gap: .625rem; font-size: .875rem; font-weight: 500; color: var(--er-action); }
.shot-open:hover { color: var(--er-action-hover); text-decoration: underline; text-underline-offset: .2em; }
.shot-picture { display: block; border-radius: 0 0 .75rem .75rem; }
.shot-picture picture { display: block; }
.shot-picture img { display: block; width: 100%; height: auto; border-radius: 0 0 .75rem .75rem; }
.product-shot--tariffe { max-width: 31rem; width: 100%; justify-self: end; }
.product-shot--tariffe .shot-picture { padding: .875rem; }
.product-shot--tariffe img { border-radius: 0; }
.product-shot--alloggiati { margin-top: 2.25rem; }
.home-booking { display: grid; grid-template-columns: .95fr 1.05fr; gap: 5rem; }
.home-booking h2 { max-width: 27ch; }
.home-booking ul { display: grid; gap: .75rem; list-style: none; padding: 0; }
.home-booking li { margin: 0; padding: .875rem 1.25rem; border-left: 2px solid var(--er-action); background: var(--er-secondary); }
.home-guests { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }
.home-guests h2 { max-width: 22ch; }
.home-guests li + li { margin-top: 1rem; }
.home-admin-details { margin-top: 2rem; }
.home-combinations { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }
.home-combinations h2 { max-width: 22ch; }
.home-combinations ul { list-style: none; padding: 0; }
.home-combinations .home-apartment-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.home-combinations .home-combined-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.home-combinations li, .home-combinations li + li { margin: 0; padding: 1rem .5rem; border-block: 1px solid var(--er-border); color: var(--er-ink); font-size: 1rem; }
.home-combinations .home-combined-list li { border-top-color: var(--er-action); background: var(--er-secondary); padding: 1rem; }
.home-combination-benefit { grid-column: 1 / -1; border-left: 2px solid var(--er-border); padding-left: 1.5rem; }
.home-combination-benefit p { max-width: 85ch; margin: 0; }
.home-integration-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 4rem; }
.home-api ul, .home-partners ul { list-style: none; padding: 0; }
.home-api li + li { margin-top: 1.25rem; }
.home-partners { border-left: 1px solid var(--er-border); padding-left: 2rem; }
.home-partners .home-text-link { margin-top: 1rem; }
.home-status { display: inline-flex; padding: .25rem .75rem; color: #775000 !important; background: #fff3d6; border: 1px solid #e7ce92; border-radius: .25rem; font-size: .875rem; line-height: 1.5; font-weight: 600; }
.home-onboarding-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }
.home-onboarding-call { border-left: 2px solid var(--er-action); padding-left: 1.5rem; align-self: start; }
.home-onboarding-call > p { font-size: 1.375rem; line-height: 1.5; letter-spacing: -.015em; color: var(--er-ink); }
.home-onboarding-call a { display: inline-flex; align-items: center; min-height: 3rem; color: var(--er-action); text-decoration: underline; text-underline-offset: .2em; }
.home-onboarding-call .home-actions { margin-top: 0; }
.home-onboarding ul { margin-bottom: 1rem; }
.home-sicilia { margin-top: 2.5rem; }
.home-pricing-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; margin-bottom: 1.5rem; }
.home-pricing-intro ul { margin-bottom: .25rem; }
.home-tax-note { font-size: .9375rem; }
.home-tax-note span { white-space: nowrap; }
.home-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.home-plan { display: flex; flex-direction: column; min-width: 0; padding: 2rem; background: #fff; border: 1px solid var(--er-border); border-radius: .75rem; }
.home-plan--complete { border-top: 3px solid var(--er-action); padding-top: calc(2rem - 2px); }
.home-plan h3 { max-width: 28ch; min-height: 3.6rem; margin-bottom: .75rem; }
.home-plan > p { font-size: 1rem; line-height: 1.625; }
.home-plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .75rem; padding-block: .5rem 1.25rem; }
.home-plan-price strong { font-size: 2.5rem; font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
.home-plan-price span { font-size: .9375rem; color: var(--er-muted); }
.home-plan .home-plan-rule { padding-top: 1.25rem; border-top: 1px solid var(--er-border); font-size: .9375rem; }
.home-plan .home-button { align-self: flex-start; margin-top: auto; }
.home-billing { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin: 1.75rem 0; font-size: .9375rem; }
.home-billing dt { font-weight: 600; color: var(--er-ink); }
.home-billing dd { margin: .25rem 0 0; color: var(--er-muted); }
.home-closing-grid { display: grid; grid-template-columns: 14rem 1fr; align-items: center; gap: 4rem; max-width: 1000px; }
.home-original-logo { display: block; width: 100%; height: auto; }
.home-closing h2 { font-size: 1.375rem; }
.home-closing [data-content-id] > div + div { margin-top: 1rem; }
.product-viewer { width: min(1200px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 1px solid var(--er-border); border-radius: .75rem; background: #fff; color: var(--er-ink); box-shadow: 0 16px 48px rgb(0 0 0 / 15%); }
.product-viewer::backdrop { background: rgb(23 35 45 / 70%); }
.product-viewer-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .5rem 1rem; border-bottom: 1px solid var(--er-border); }
.product-viewer-header h2 { margin: 0; font-family: var(--er-font); font-size: 1rem; line-height: 1.5; }
.product-viewer-header button { min-width: 2.75rem; min-height: 2.75rem; padding: .25rem; background: #fff; color: var(--er-ink); border-radius: .375rem; font-size: 1.75rem; line-height: 1; }
.product-viewer-header button:hover { background: var(--er-secondary); }
.product-viewer-scroll { max-height: calc(100dvh - 6.5rem); overflow: auto; overscroll-behavior: contain; }
.product-viewer-scroll img { display: block; width: auto; min-width: min(100%, 462px); max-width: none; height: auto; margin-inline: auto; }

@media (max-width: 1024px) {
  .home-opening-grid { gap: 2rem; }
  .home-v2 h1 { font-size: 2.75rem; }
  .home-platform-grid, .home-platform-details, .home-section-intro, .home-booking, .home-columns { gap: 2.5rem; }
  .home-guests, .home-combinations, .home-integration-grid, .home-onboarding-grid, .home-pricing-intro { gap: 2.5rem; }
}
@media (max-width: 760px) {
  .home-v2 { font-size: 1rem; line-height: 1.625; }
  .home-container { width: calc(100% - 2.5rem); }
  .home-v2 h1 { max-width: 15ch; font-size: 2.125rem; line-height: 1.15; }
  .home-v2 h2 { font-size: 1.75rem !important; line-height: 1.25 !important; }
  .home-v2 h3 { font-size: 1.3125rem; line-height: 1.33; }
  .home-opening { padding-block: 2rem; }
  .home-opening-grid, .home-platform-grid, .home-platform-details, .home-section-intro, .home-booking, .home-columns, .home-guests, .home-combinations, .home-integration-grid, .home-onboarding-grid, .home-pricing-intro, .home-plans, .home-billing { grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
  .home-lead { font-size: 1rem; }
  .home-actions { margin-top: 1.5rem; }
  .home-actions .home-button--primary { flex-grow: 1; }
  .home-index .home-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
  .home-index a { font-size: .9375rem; border-bottom: 1px solid var(--er-border); }
  .home-index a:nth-last-child(-n+2) { border-bottom: 0; }
  .home-section { padding-block: 3rem; }
  .home-section--compact { padding-block: 2.5rem; }
  .home-section--line { padding-top: 0; }
  .home-section--line > .home-container { padding-top: 3rem; }
  .home-platform-details { margin-top: 2rem; padding-top: 2rem; }
  .home-disclosure > summary { font-size: 1.0625rem; padding-block: 1rem; gap: 1rem; }
  .home-section-intro { margin-bottom: 1.5rem; }
  .home-section-intro h2, .home-booking h2, .home-guests h2, .home-combinations h2 { max-width: 100%; margin-bottom: 0; }
  .product-shot--tariffe { justify-self: center; max-width: 28rem; }
  .product-shot figcaption { padding-inline: .75rem; }
  .product-shot--tariffe .shot-picture { padding: .75rem; }
  .product-shot--tariffe img { max-width: 16rem; margin-inline: auto; }
  .product-shot--alloggiati { margin-top: 1.5rem; }
  .home-partners { padding-left: 0; padding-top: 1.75rem; border-left: 0; border-top: 1px solid var(--er-border); }
  .home-onboarding-call { padding-left: 1.25rem; }
  .home-onboarding-call > p { font-size: 1.25rem; }
  .home-sicilia { margin-top: 2rem; }
  .home-pricing-intro { gap: .5rem; }
  .home-plan { padding: 1.5rem; }
  .home-plan--complete { padding-top: calc(1.5rem - 2px); }
  .home-plan h3 { min-height: 0; }
  .home-plan .home-button { width: 100%; }
  .home-billing { gap: 1rem; }
  .home-closing-grid { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .home-original-logo { max-width: 10rem; }
  .home-closing h2 { font-size: 1.3125rem !important; }
  .product-viewer { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
  .product-viewer-header h2 { font-size: 1rem !important; line-height: 1.5 !important; }
}
@media (min-width: 601px) and (max-width: 760px) {
  .product-shot--tariffe img { max-width: 100%; }
}
@media (max-width: 600px) {
  .product-shot--automazioni .shot-picture, .product-shot--alloggiati .shot-picture { overflow-x: auto; }
  .product-shot--automazioni .shot-picture img { width: 438px; max-width: none; }
  .product-shot--alloggiati .shot-picture img { width: 476px; max-width: none; }
  .home-combinations .home-apartment-list { gap: .625rem; }
  .home-combinations .home-combined-list { gap: .625rem; }
  .home-combinations li, .home-combinations .home-combined-list li { font-size: .9375rem; padding: .75rem .5rem; }
}
