.es3d-lumasegno-page .page-heading { display: none; }
.es3d-lumasegno-page .site-main { overflow: visible; }
.es3d-lumasegno, .es3d-lumasegno * { box-sizing: border-box; }
.es3d-lumasegno { --ls-green:#178953; --ls-dark:#0d2018; --ls-mint:#e4f7ea; --ls-line:#d6e2da; --ls-warm:#fff2dd; max-width: 1180px; margin: 0 auto; padding: 34px 24px 72px; color: #17241e; }
.es3d-lumasegno__hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); gap: 34px; align-items: end; margin-bottom: 24px; }
.es3d-lumasegno__hero h1 { max-width: 820px; margin: 5px 0 13px; color: var(--ls-dark); font-size: clamp(2.7rem,5.6vw,5.4rem); font-weight: 540; line-height: .98; letter-spacing: -.045em; }
.es3d-lumasegno__hero > div > p:last-child { max-width: 700px; margin: 0; color: #53665c; font-size: clamp(1.05rem,1.45vw,1.28rem); line-height: 1.55; }
.es3d-lumasegno__hero > div > p:last-child strong { color: #284b3b; font-weight: 760; }
.es3d-lumasegno__eyebrow, .es3d-lumasegno-card__eyebrow { margin: 0; color: var(--ls-green); font-size: .75rem; font-weight: 800; letter-spacing: .13em; }
.es3d-lumasegno__status { justify-self: end; display: inline-flex; align-items: center; gap: 9px; margin: 0 0 7px; padding: 10px 13px; border: 1px solid #d7e7de; border-radius: 999px; background: #f2faf5; color: #315d47; font-size: .78rem; font-weight: 700; }
.es3d-lumasegno__status span { width: 8px; height: 8px; border-radius: 50%; background: #e3a72f; box-shadow: 0 0 0 5px rgba(227,167,47,.14); }
.es3d-lumasegno__frame-shell { overflow: hidden; border: 1px solid var(--ls-line); border-radius: 20px; background: #edf2ee; box-shadow: 0 14px 42px rgba(13,32,24,.09); }
.es3d-lumasegno__frame { display: block; width: 100%; height: 1220px; border: 0; background: #f7fbf8; }
.es3d-lumasegno__limits { margin-top: 24px; padding: 16px 18px; border: 1px solid #d5ddd8; border-radius: 10px; background: #fff; }
.es3d-lumasegno__limits summary { cursor: pointer; color: var(--ls-dark); font-weight: 750; }
.es3d-lumasegno__limits p { color: #53665c; font-size: 14px; line-height: 1.55; }
.es3d-lumasegno__back { margin: 20px 0 0; }
.es3d-lumasegno__back a { color: var(--ls-green); font-weight: 750; }

.esolution-products-page .es3d-lumasegno-card { --ls-green:#178953; display: grid; grid-template-columns: minmax(320px,1.08fr) minmax(0,.92fr); gap: clamp(28px,4vw,58px); align-items: center; margin: 36px 0 46px; padding: 30px 0; border-top: 1px solid #d6e2da; border-bottom: 1px solid #d6e2da; }
.es3d-lumasegno-card__visual { min-width: 0; margin: 0; }
.es3d-lumasegno-card__visual a { display: block; overflow: hidden; border-radius: 20px; background: #0d2018; }
.es3d-lumasegno-card__visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .28s ease; }
.es3d-lumasegno-card__visual a:hover img { transform: scale(1.012); }
.es3d-lumasegno-card__visual figcaption { margin-top: 9px; color: #718078; font-size: .72rem; line-height: 1.4; }
.es3d-lumasegno-card__body { min-width: 0; padding: 8px 24px 8px 0; }
.es3d-lumasegno-card__body h2 { margin: 8px 0 5px; color: #0d2018; font-size: clamp(2.35rem,4.4vw,4.4rem); font-weight: 540; line-height: .96; letter-spacing: -.04em; }
.es3d-lumasegno-card__descriptor { margin: 0 0 19px; color: #315d47; font-size: clamp(1.05rem,1.5vw,1.3rem); font-weight: 720; line-height: 1.35; }
.es3d-lumasegno-card__body > p:not(.es3d-lumasegno-card__eyebrow):not(.es3d-lumasegno-card__descriptor) { max-width: 620px; color: #52655b; font-size: 1rem; line-height: 1.6; }
.es3d-lumasegno-card__meta { display: flex; flex-wrap: wrap; gap: 7px 18px; margin: 20px 0 22px; padding: 14px 0 0; border-top: 1px solid #d6e2da; list-style: none; }
.es3d-lumasegno-card__meta li { position: relative; padding-left: 13px; color: #49665a; font-size: .76rem; font-weight: 720; }
.es3d-lumasegno-card__meta li::before { position: absolute; left: 0; top: .48em; width: 5px; height: 5px; border-radius: 50%; background: var(--ls-green); content: ""; }
.es3d-lumasegno-card__cta { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 11px; padding: 11px 17px; border-radius: 11px; color: #fff!important; background: var(--ls-green); font-weight: 780; text-decoration: none!important; }
.es3d-lumasegno-card__cta:hover { background: #116f43; }
.es3d-lumasegno-card__body small { display: block; margin-top: 12px; color: #6b796f; }
.es3d-lumasegno :focus-visible, .es3d-lumasegno-card :focus-visible { outline: 3px solid #e6b63b; outline-offset: 3px; }

@media (max-width: 900px) {
  .es3d-lumasegno__hero { grid-template-columns: 1fr; }
  .es3d-lumasegno__status { justify-self: start; }
  .esolution-products-page .es3d-lumasegno-card { grid-template-columns: 1fr; }
  .es3d-lumasegno-card__body { padding: 0 8px 8px; }
}
@media (max-width: 520px) {
  .es3d-lumasegno { padding: 22px 14px 52px; }
  .es3d-lumasegno__hero h1 { font-size: 2.55rem; }
  .es3d-lumasegno__frame-shell { border-radius: 16px; }
  .es3d-lumasegno__frame { height: 1470px; }
  .esolution-products-page .es3d-lumasegno-card { margin: 24px 0 34px; padding: 22px 0 26px; gap: 24px; }
  .es3d-lumasegno-card__visual a { border-radius: 16px; }
  .es3d-lumasegno-card__body { padding-inline: 0; }
  .es3d-lumasegno-card__body h2 { font-size: 2.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .es3d-lumasegno *, .es3d-lumasegno-card * { scroll-behavior: auto!important; transition-duration: .01ms!important; }
}

/* R49 — contratto Descrizione comune a prodotti WooCommerce e frontend autonomi. */
.es3d-lumasegno-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; margin:24px 0 12px; }
.es3d-lumasegno-price strong { font-size:clamp(28px,4vw,40px); line-height:1.15; color:#163f39; }
.es3d-lumasegno-price span { font-size:15px; line-height:1.5; }
.es3d-lumasegno__frame-shell,
.es3d-lumasegno-description { width:min(100%,1100px); margin-right:auto; margin-left:auto; }
.es3d-lumasegno-page .sharedaddy,
.es3d-lumasegno-page .sd-sharing-enabled { width:min(100%,1100px)!important; margin-right:auto!important; margin-left:auto!important; }
.es3d-lumasegno-description { margin-top:64px; }
.es3d-lumasegno-description__tabs { display:flex; margin:0!important; padding:0!important; list-style:none!important; }
.es3d-lumasegno-description__tabs li { margin:0!important; padding:0!important; border-radius:0 2px 0 0; background:#eee; list-style:none!important; }
.es3d-lumasegno-description__tabs a { display:block; padding:12px 18px; color:#26352e!important; font-size:13px; font-weight:600; line-height:1.15; text-decoration:none!important; }
.es3d-lumasegno .es3d-product-description { margin:0; padding:20px; border:0; border-radius:0 2px 2px; background:#eee; color:#36423b; font-size:13.5px; font-weight:400; line-height:1.6; }
.es3d-lumasegno .es3d-product-description h2 { margin:0 0 17px; padding:0 0 10px; border-bottom:1px solid #ccd5d0; color:#17231d; font-size:16px; font-weight:650; line-height:1.25; }
.es3d-lumasegno .es3d-product-description h3 { margin:22px 0 7px; color:#176f5d; font-size:14.5px; font-weight:620; line-height:1.32; }
.es3d-lumasegno .es3d-product-description p,
.es3d-lumasegno .es3d-product-description li { max-width:none; color:#36423b; font-size:13.5px; line-height:1.6; }
.es3d-lumasegno .es3d-product-description p { margin:0 0 10px; }
.es3d-lumasegno .es3d-product-description ul,
.es3d-lumasegno .es3d-product-description ol { margin:6px 0 12px; padding-left:20px; }
.es3d-lumasegno .es3d-product-description li + li { margin-top:4px; }
.es3d-lumasegno .es3d-product-description strong { color:#26352e; font-weight:600; }
.es3d-lumasegno .es3d-product-description > :last-child { margin-bottom:0; }
.es3d-lumasegno-page .sharedaddy,
.es3d-lumasegno-page .sd-sharing-enabled { margin-top:32px; }
@media(min-width:1024px){.es3d-lumasegno-description{margin-top:80px;}.es3d-lumasegno-page .sharedaddy,.es3d-lumasegno-page .sd-sharing-enabled{margin-top:44px;}}
@media(max-width:520px){.es3d-lumasegno-page .sharedaddy,.es3d-lumasegno-page .sd-sharing-enabled{width:min(100%,1100px)!important;}}

/* R08.2: use the shared R06 outlined wordmark, with R10 title spacing. */
.es3d-lumasegno__hero h1.es3d-app-lockup { margin:0 0 var(--es3d-family-title-after,6px)!important; }
