/* Correzioni touch per le pagine d'ordine. Caricato dopo opto-ui.css. */
/* Il menu completo non entra sui telefoni grandi e sui tablet: usa l'hamburger. */
@media screen and (max-width: 1100px) {
  body header nav,
  body header nav.fixed {
    display: block;
    min-height: 62px;
    height: auto;
    padding: 10px 12px;
    cursor: pointer;
  }

  body header.position-absolute {
    position: relative;
    background: linear-gradient(100deg,#03283e,#055377);
  }

  body header .logo img,
  body header nav.fixed .logo img {
    top: 0;
    max-width: 145px;
  }

  body header .logo-white,
  body header nav.fixed .logo-white { display: block; }
  body header .logo-dark,
  body header nav.fixed .logo-dark { display: none; }

  body .nav-text {
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    display: inline-block;
    width: 60px;
    height: 60px;
    margin: 0;
    padding-top: 15px;
    border: 0;
    background: #1c3849;
    color: #fff;
    cursor: pointer;
    line-height: 60px;
    text-align: center;
  }

  body header .nav-text::after,
  body header .fixed .nav-text::after { color: #fff; }

  body .top-nav {
    position: fixed;
    z-index: 1000;
    top: 0;
    bottom: 0;
    left: -100%;
    display: block;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    box-sizing: border-box;
    overflow-y: auto;
    background: #04344f;
    transition: left .2s linear;
  }

  body.show-menu { overflow: hidden; }
  body.show-menu .top-nav { left: 0; right: 0; height: 100vh !important; height: 100dvh !important; }

  body .top-nav > ul {
    position: relative;
    top: 60px;
    width: 100%;
    height: auto;
    padding: 0 0 80px;
    overflow: auto;
  }

  body .top-nav li {
    float: none;
    width: 100%;
    padding: 0;
    list-style: none;
  }

  body header .top-nav > ul > li > a,
  body header nav.fixed .top-nav > ul > li > a,
  body .top-nav li a {
    display: block;
    width: 100%;
    padding: 13px 18px;
    box-sizing: border-box;
    background: #04344f;
    color: #fff !important;
    text-align: center;
  }

  body .top-nav li ul,
  body .top-nav li ul li ul {
    position: relative;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    overflow: hidden;
  }

  body .top-nav > ul ul.show-ul { height: auto; }
  body .top-nav li ul li a { min-width: 100%; background: #075477; }
}

@media screen and (max-width: 760px),
       screen and (max-width: 1024px) and (max-height: 600px) {
  html,
  body.opto-order-page,
  .opto-order-page main { max-width: 100%; overflow-x: hidden; }
  .opto-order-page .opto-order-shell { width: calc(100% - .7rem) !important; margin-top: -.8rem; padding-bottom: 2rem; }
  .opto-order-page .accordion { gap: .7rem; }
  .opto-order-page .accordion-section { border-radius: 13px; }
  .opto-order-page .accordion-title { padding: .78rem 2.5rem .78rem .8rem !important; font-size: .94rem !important; }
  .opto-order-page .accordion-content { overflow: visible !important; padding: .55rem !important; }

  .opto-order-page #Table23,
  .opto-order-page #Table61,
  .opto-order-page #Table6,
  .opto-order-page #Table66,
  .opto-order-page #Table233,
  .opto-order-page #Table333 { display: table !important; width: 100% !important; table-layout: auto !important; overflow: visible !important; }

  .opto-order-page #Table23 > tbody > tr,
  .opto-order-page #Table61 > tbody > tr,
  .opto-order-page #Table6 > tbody > tr,
  .opto-order-page #Table66 > tbody > tr,
  .opto-order-page #Table233 > tbody > tr,
  .opto-order-page #Table333 > tbody > tr { display: flex; flex-direction: column; gap: .55rem; }

  .opto-order-page #Table23 td,
  .opto-order-page #Table61 td,
  .opto-order-page #Table6 td,
  .opto-order-page #Table66 td,
  .opto-order-page #Table233 td,
  .opto-order-page #Table333 td { display: block; width: 100% !important; padding: .55rem !important; border: 1px solid #d7e7f1 !important; border-radius: 12px; box-sizing: border-box; }

  .opto-order-page #Table23 select,
  .opto-order-page #Table23 input[type="text"] { display: block; width: 100% !important; margin: .35rem 0 !important; }

  .opto-order-page #Table23 label,
  .opto-order-page #Table23 span { white-space: normal !important; }

  .opto-order-page #Table233 tr:first-child td,
  .opto-order-page #Table333 td { width: 100% !important; border-right: 1px solid #d7e7f1 !important; }

  .opto-order-page .accordion-content .line { margin: -.22rem !important; }
  .opto-order-page .accordion-content .line > [class*="s-"],
  .opto-order-page .opto-progressive-row > [class*="s-"],
  .opto-order-page .opto-progressive-row > .opto-progressive-primary,
  .opto-order-page #Table33 .line > [class*="s-"] { flex: 1 1 50%; width: 50% !important; min-width: 0 !important; max-width: none !important; padding: .28rem !important; box-sizing: border-box; }

  .opto-order-page input[type="text"],
  .opto-order-page input[type="number"],
  .opto-order-page select,
  .opto-order-page textarea,
  .opto-multiple-page input[type="text"],
  .opto-multiple-page select,
  .opto-stock-page input[type="text"],
  .opto-stock-page select { min-height: 46px !important; font-size: 16px !important; }

  .opto-order-page #Table34 .line { grid-template-columns: 1fr !important; gap: .35rem; padding: .75rem !important; }
  .opto-order-page #Table34 .line > [class*="s-"] { width: 100% !important; }
  .opto-order-page #Table1341 td,
  .opto-order-page #Table33 td { padding: .4rem !important; }

  .opto-order-page .accordion-content input[type="submit"],
  .opto-order-page .accordion-content input[type="button"],
  .opto-order-page .accordion-content button { width: calc(100% - .5rem) !important; min-width: 0 !important; min-height: 48px; margin: .25rem !important; }

  .opto-app .opto-table-scroll { -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .opto-app table.opto-data-table { min-width: 780px; }
  .opto-data-table thead th,
  .opto-data-table tbody td { padding: .65rem .5rem !important; font-size: .7rem !important; }
  .opto-data-table a { min-height: 42px; padding: .5rem .65rem; }

  .opto-multiple-page #Grid { border-radius: 12px; -webkit-overflow-scrolling: touch; }
  .opto-multiple-page #Grid th,
  .opto-multiple-page #Grid td { padding: .65rem .5rem !important; }

  .opto-stock-page .table-responsive { position: relative; -webkit-overflow-scrolling: touch; }
  .opto-stock-page #table501 { margin-left: 0; }

  /* Busta RX: separazione visiva dei due occhi soltanto su telefono. */
  .opto-order-page #Table23 td:nth-child(1),
  .opto-order-page #Table6 td:nth-child(1),
  .opto-order-page #Table61 td:nth-child(1),
  .opto-order-page #Table66 td:nth-child(1),
  .opto-order-page #Table233 td:nth-child(1) {
    border-left: 5px solid #078fbe !important;
    background: #edf9fd !important;
  }

  .opto-order-page #Table23 td:nth-child(2),
  .opto-order-page #Table6 td:nth-child(2),
  .opto-order-page #Table61 td:nth-child(2),
  .opto-order-page #Table66 td:nth-child(2),
  .opto-order-page #Table233 td:nth-child(2) {
    border-left: 5px solid #d85d6f !important;
    background: #fff3f5 !important;
  }

  .opto-order-page #Table23 #Label22,
  .opto-order-page #Table233 #label {
    display: block;
    height: auto !important;
    padding: .55rem .7rem;
    border-radius: 9px;
    background: #078fbe;
    color: #fff !important;
    font-size: .92rem !important;
    letter-spacing: .045em;
  }

  .opto-order-page #Table23 #Label23,
  .opto-order-page #Table233 #Label90 {
    display: block;
    height: auto !important;
    padding: .55rem .7rem;
    border-radius: 9px;
    background: #d85d6f;
    color: #fff !important;
    font-size: .92rem !important;
    letter-spacing: .045em;
  }

  .opto-order-page #Table6 > tbody > tr > td,
  .opto-order-page #Table61 > tbody > tr > td,
  .opto-order-page #Table66 > tbody > tr > td {
    position: relative;
    margin-bottom: .65rem;
    padding-top: 3.25rem !important;
  }

  .opto-order-page #Table6 > tbody > tr > td::before,
  .opto-order-page #Table61 > tbody > tr > td::before,
  .opto-order-page #Table66 > tbody > tr > td::before {
    position: absolute;
    top: .55rem;
    right: .55rem;
    left: .55rem;
    padding: .48rem .65rem;
    border-radius: 8px;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: left;
  }

  .opto-order-page #Table6 > tbody > tr > td:nth-child(1)::before,
  .opto-order-page #Table61 > tbody > tr > td:nth-child(1)::before,
  .opto-order-page #Table66 > tbody > tr > td:nth-child(1)::before {
    content: "LENTE DESTRA · DX";
    background: #078fbe;
  }

  .opto-order-page #Table6 > tbody > tr > td:nth-child(2)::before,
  .opto-order-page #Table61 > tbody > tr > td:nth-child(2)::before,
  .opto-order-page #Table66 > tbody > tr > td:nth-child(2)::before {
    content: "LENTE SINISTRA · SX";
    background: #d85d6f;
  }
}

@media screen and (max-width: 340px) {
  .opto-order-page .opto-order-shell { width: calc(100% - .35rem) !important; }
  .opto-order-page .accordion-content { padding: .4rem !important; }
  .opto-order-page .accordion-content label,
  .opto-order-page .accordion-content span[id^="Label"] { font-size: .7rem !important; }
}
