/* NexusDPP responsive hardening pass — smartphone and tablet containment */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}
#main,.site-header,.site-footer,main,header,footer,section,article,aside,nav,form,fieldset,figure{
  max-width:100%;
}
:where(main,header,footer,section,article,aside,nav,form,fieldset,figure,div,ul,ol,li){
  min-width:0;
}
img,video,canvas,iframe,object,embed{
  max-width:100%;
}
img,video{
  height:auto;
}
iframe{
  width:100%;
}
input,select,textarea,button{
  max-width:100%;
  min-width:0;
}
p,h1,h2,h3,h4,h5,h6,li,td,th,label{
  overflow-wrap:anywhere;
}
.article-content a,.legal-content a,.footer-company,a[href^="mailto:"],a[href^="tel:"]{
  overflow-wrap:anywhere;
  word-break:break-word;
}
pre,code,kbd,samp{
  overflow-wrap:normal;
  word-break:normal;
}
pre{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.table-wrap,.article-table-wrap,.feature-table,.legal-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
table{
  max-width:100%;
}

@media (max-width:1140px){
  .site-header .container,
  .header-inner{
    max-width:100%;
  }
  .main-nav{
    max-width:100vw;
    overscroll-behavior:contain;
  }
  .nav-dropdown,.nav-dropdown-wide{
    max-width:100%;
  }
}

@media (max-width:900px){
  :root{--container:min(100% - 28px,1180px)}

  .container,
  .dp-balanced-shell,
  .data-protection-stage,
  .training-hero-grid,
  .home-hero .container.hero-grid{
    width:min(100% - 28px,1180px)!important;
    max-width:100%!important;
    margin-inline:auto!important;
  }

  .section-header,
  .split,
  .page-hero-grid,
  .hero-grid,
  .platform-hero-grid,
  .service-hero-grid,
  .training-hero-grid,
  .anti-counterfeit-hero-grid,
  .manufacturers-hero-grid,
  .textile-fashion-hero .page-hero-grid,
  .battery-passport-hero .page-hero-grid,
  .trade-hero-grid,
  .trade-flow-layout,
  .trade-final-panel,
  .article-layout,
  .resource-layout,
  .contact-layout,
  .training-form-layout,
  .pilot-grid,
  .audiences-layout,
  .sectors-layout,
  .producers-enterprise-layout,
  .producers-v4-row-layout,
  .platform-proof-grid,
  .trust-grid,
  .demo-passport-grid,
  .demo-dpp-hero .page-hero-grid,
  .user-dpp-hero-grid,
  .experience-story-split,
  .wine-highlight-band,
  .wine-hero-grid,
  .compare-card,
  .cta-box,
  .ta-hero-grid,
  .ta-detail-grid,
  .ta-flow-grid,
  .ta-protection-grid,
  .home-physical-grid,
  .home-final-panel,
  .dp-balanced-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .article-sidebar,
  .contact-panel,
  .resource-copy,
  .roles-intro,
  .experience-floating-panel{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
  }

  .page-hero-aside,
  .page-hero-product-visual,
  .hero-visual,
  .platform-hero-grid>div:last-child,
  .manufacturers-hero-visual,
  .anti-counterfeit-hero-visual,
  .training-hero-visual,
  .textile-hero-visual,
  .battery-hero-visual,
  .platform-hero-dashboard,
  .demo-hero-visual,
  .wine-photo-frame,
  .compare-card-media{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    justify-self:stretch!important;
  }

  .floating-card,
  .experience-media-card figcaption,
  .textile-hero-visual figcaption,
  .battery-hero-visual figcaption,
  .platform-hero-dashboard figcaption{
    max-width:calc(100% - 24px)!important;
  }

  .article-table,
  .legal-table{
    min-width:680px;
  }
}

@media (max-width:720px){
  :root{--container:min(100% - 24px,1180px)}

  .container,
  .dp-balanced-shell,
  .data-protection-stage,
  .training-hero-grid,
  .home-hero .container.hero-grid{
    width:calc(100% - 24px)!important;
  }

  .site-header .container{
    width:calc(100% - 18px)!important;
  }
  .header-inner{
    gap:8px!important;
  }
  .brand{
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden;
  }
  .brand span{
    min-width:0;
    max-width:150px;
  }
  .brand strong,.brand small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .language-switcher{
    flex:0 0 auto;
  }
  .nav-toggle{
    flex:0 0 auto;
  }
  .main-nav{
    width:100vw!important;
    max-width:100vw!important;
    padding-inline:20px!important;
  }

  h1,.hero h1,.page-hero h1,.home-hero h1,.hero-product h1,
  .data-protection-copy h1,.dp-balanced-copy h1,
  .page-anticontraffazione .page-hero h1,
  .qr-nfc-intro h1{
    max-width:100%!important;
    word-break:normal;
    hyphens:auto;
  }

  .hero,
  .home-hero,
  .home-hero-passport,
  .hero-product,
  .page-hero,
  .data-protection-showcase,
  .dp-balanced-hero,
  .qr-nfc-intro,
  .wine-hero,
  .user-dpp-hero,
  .manufacturers-hero,
  .trade-hero{
    min-height:0!important;
    height:auto!important;
  }

  .hero-inner,
  .hero-grid,
  .hero-product-grid,
  .page-hero,
  .page-hero-grid,
  .home-hero-passport .hero-grid,
  .qr-nfc-intro,
  .wine-hero{
    padding-top:112px!important;
    padding-bottom:52px!important;
  }

  .section-header,
  .card-grid,
  .sector-grid,
  .related-guide-grid,
  .guide-grid,
  .experience-kpi-grid,
  .experience-stage-grid,
  .experience-moment-grid,
  .experience-config-grid,
  .wine-mini-stats,
  .wine-report-grid,
  .compare-grid,
  .feature-stack,
  .steps-grid,
  .platform-proof-grid,
  .ingestion-mode-grid,
  .demo-data-grid,
  .demo-access-grid,
  .checklist-grid,
  .sitemap-card-grid,
  .trade-card-grid,
  .trade-output-grid,
  .trade-proofbar-grid,
  .trade-legal-grid,
  .ta-summary-grid,
  .ta-benefits-grid,
  .role-icon-grid,
  .sector-icon-grid,
  .producers-v4-benefit-grid,
  .producers-v4-role-grid,
  .producers-v4-sector-grid,
  .role-workflow-stats,
  .trust-matrix,
  .metrics-grid,
  .news-grid,
  .form-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .feature-row,
  .flow-item,
  .role-workflow-visual li,
  .enterprise-step,
  .enterprise-capability,
  .sector-card,
  .resource-item{
    min-width:0!important;
  }

  .feature-row{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .pill-row,
  .tech-pill-row,
  .hero-actions,
  .home-final-actions,
  .final-cta-actions,
  .cta-actions{
    width:100%;
    max-width:100%;
    flex-wrap:wrap!important;
  }
  .pill,.tech-pill,
  .hero-actions .button,
  .home-final-actions .button,
  .final-cta-actions .button,
  .cta-actions .button{
    max-width:100%;
    white-space:normal!important;
    text-align:center;
  }

  .button,
  a.button,
  button.button{
    min-width:0;
  }

  figure{
    margin-left:0!important;
    margin-right:0!important;
  }

  .media-frame,
  .media-frame img,
  .experience-media-card img,
  .manufacturers-hero-visual,
  .manufacturers-hero-visual img,
  .training-hero-visual img,
  .textile-hero-visual img,
  .battery-hero-visual img,
  .platform-hero-dashboard img,
  .anti-counterfeit-hero-visual img,
  .demo-hero-visual img,
  .page-hero-product-visual img,
  .hero-visual-photo img,
  .wine-photo-frame img,
  .compare-card-media,
  .compare-card-media img{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .floating-card{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:14px;
  }

  .experience-media-card figcaption,
  .textile-hero-visual figcaption,
  .battery-hero-visual figcaption,
  .platform-hero-dashboard figcaption{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    border-radius:0 0 14px 14px!important;
  }

  .article-table-wrap,.table-wrap,.feature-table,.legal-table-wrap{
    overflow-x:auto!important;
  }
  .article-table,.legal-table{
    width:680px!important;
    max-width:none!important;
  }

  .breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    max-width:100%;
    line-height:1.45;
  }

  .quote-block,.article-callout,.notice,.cta-box,.quote-band,
  .wine-highlight-band,.home-final-panel,.trade-final-panel,
  .ta-final-cta,.experience-cta-band{
    width:100%;
    max-width:100%;
    padding:22px!important;
  }

  .cookie-banner,.cookie-modal{
    max-width:100vw;
    overflow-x:hidden;
  }
  .cookie-card,.cookie-modal-card{
    width:100%!important;
    max-width:100%!important;
  }

  .compare-card{
    overflow:hidden;
  }
  .compare-card-body{
    min-width:0;
  }

  .qr-nfc-intro{
    background-position:center!important;
  }
}

@media (max-width:420px){
  :root{--container:min(100% - 20px,1180px)}
  .container,
  .dp-balanced-shell,
  .data-protection-stage,
  .training-hero-grid,
  .home-hero .container.hero-grid{
    width:calc(100% - 20px)!important;
  }
  .brand span{max-width:118px}
  .brand img{width:38px!important;height:38px!important}
  .brand strong{font-size:.98rem!important}
  .language-switcher a{padding:6px!important}
  .nav-toggle{width:40px!important;height:38px!important}
  .main-nav{padding-inline:16px!important}
  .section{padding:56px 0!important}
  .section-tight{padding:42px 0!important}
  .card,.form-card,.compare-card-body,.wine-report-card,.step-card{
    padding:20px!important;
  }
  .eyebrow{
    letter-spacing:.1em;
  }
}

/* Final targeted corrections for components that previously stayed desktop-sized */
@media (max-width:720px){
  .qr-nfc-intro .tech-pill-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .qr-nfc-intro .tech-pill{
    width:100%!important;
    justify-content:flex-start!important;
  }

  .footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .footer-brand,.footer-grid>div:last-child{
    grid-column:auto!important;
  }
  .footer-bottom>div{
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
  }

  .role-workflow-stats article{
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .role-workflow-stats article:last-child{
    border-bottom:0!important;
  }

  .ta-hero-grid,
  .ta-summary-grid,
  .ta-protection-grid,
  .ta-benefits-shell,
  .ta-hero-product,
  .ta-hero-trust,
  .ta-trigger-panel,
  .ta-states-panel,
  .ta-protection-panel,
  .ta-protection-visual{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
  }
  .ta-protection-grid{
    overflow:visible!important;
  }

  .dpp-hero-scene,
  .home-hero-passport .hero-visual,
  .home-hero-passport .hero-visual-photo,
  .platform-window,
  .nx-console,
  .physical-visual,
  .architecture-map,
  .role-workflow-visual{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .page-hero-single,
  .page-hero-compact,
  .article-content,
  .legal-content{
    width:100%!important;
    max-width:100%!important;
  }

  .news-card,.guide-card,.related-guide,.sector-card,
  .experience-kpi-card,.experience-stage-copy,.experience-moment,
  .wine-report-card,.step-card,.comparison-card{
    min-width:0!important;
    max-width:100%!important;
  }

  .nexus-ai{
    right:8px!important;
    left:auto!important;
    bottom:8px!important;
    max-width:calc(100vw - 16px)!important;
  }
  .nexus-ai-launcher{
    margin-left:auto;
  }
  .nexus-ai-panel{
    max-width:calc(100vw - 16px)!important;
  }
}

@media (max-width:900px){
  .data-protection-hero-grid,
  .manufacturer-audiences-layout,
  .manufacturer-integration-layout,
  .producers-v3-hero-grid,
  .producers-v4-hero-grid,
  .product-showcase-grid,
  .final-cta-layout,
  .trade-output-grid,
  .trade-home-callout-panel{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media (max-width:720px){
  .about-facts,
  .guide-steps,
  .manufacturer-photo-flow,
  .manufacturer-capability-grid,
  .manufacturer-value-grid,
  .manufacturer-sector-grid,
  .manufacturer-system-stack,
  .manufacturer-output-stack,
  .producers-v3-process-grid,
  .producers-v3-capability-grid,
  .producers-v3-benefit-grid,
  .producers-v3-role-grid,
  .producers-v3-sector-grid,
  .producers-v4-process-grid,
  .producers-v4-capability-grid,
  .ta-trigger-events,
  .ta-state-track,
  .ta-protection-features,
  .ta-flow-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .manufacturer-photo-flow,
  .producers-v3-process-grid,
  .producers-v4-process-grid,
  .ta-state-track,
  .ta-flow-grid{
    overflow:visible!important;
  }

  .manufacturer-photo-flow>* ,
  .producers-v3-process-grid>* ,
  .producers-v4-process-grid>* ,
  .ta-state-track>* ,
  .ta-flow-grid>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}
