/*
  Robert Juliat responsive UX updates - 2026
  CSS Document 2026 for RJ designed by Mr Atif BUX 
  Shared and page-specific responsive rules for RJ-COM pages.

  Keep page-specific fixes scoped to a unique wrapper or body class:
  - .home-responsive for the home page
  - #contenusingle.accessories-detail for followspot accessories
*/

/* --------------------------------------------------------------------------
   Followspot Accessories Page
   -------------------------------------------------------------------------- */
.accessories-detail * {
    box-sizing: border-box;
  }

  #contenusingle.accessories-detail {
    display: grid;
    grid-template-columns: 400px 465px;
    column-gap: 30px;
    align-items: start;
    margin-top: 30px;
  }

  #contenusingle.accessories-detail #pagefollowspots,
  #contenusingle.accessories-detail .imgproduit,
  #contenusingle.accessories-detail .accessories-extra {
    float: none;
  }

  #contenusingle.accessories-detail #pagefollowspots {
    grid-column: 1;
    order: 1;
  }

  #contenusingle.accessories-detail .titrefollowspots,
  #contenusingle.accessories-detail .soustitresinglelens {
    padding-left: 55px;
    text-align: left;
  }

  #contenusingle.accessories-detail .imgproduit {
    grid-column: 2;
    order: 2;
    width: auto;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 52px 46px;
    align-items: end;
  }

  #contenusingle.accessories-detail .imgproduit .accessories,
  #contenusingle.accessories-detail .imgproduit .accessories.accessImalign {
    float: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: auto;
    margin: 0;
  }

  #contenusingle.accessories-detail .imgproduit .imgaccessories {
    float: none;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    min-height: 146px;
    height: auto;
    text-align: center !important;
    margin: 0 !important;
  }

  #contenusingle.accessories-detail .imgproduit .namelampcomp {
    float: none;
    display: block;
    width: 100%;
    min-height: 32px;
    height: auto;
    margin: 6px 0 0 0 !important;
    line-height: 14px;
    text-align: center !important;
  }

  #contenusingle.accessories-detail .imgproduit .access-gt800 img {
    max-width: 135%;
    transform: scale(1.42);
    transform-origin: center bottom;
  }

  #contenusingle.accessories-detail .imgproduit .access-jpp img {
    max-height: 142px;
  }

  #contenusingle.accessories-detail .imgproduit img {
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  #contenusingle.accessories-detail .accessories-extra {
    grid-column: 1 / -1;
    order: 3;
    width: 895px;
    margin-top: 60px;
    margin-left: 35px;
    display: grid;
    grid-template-columns: minmax(0, 585px) 260px;
    gap: 20px 34px;
    align-items: center;
  }

  #contenusingle.accessories-detail .accessories-extra p,
  #contenusingle.accessories-detail .accessories-extra figure {
    margin: 0;
  }

  #contenusingle.accessories-detail .spotme-block {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
  }

  #contenusingle.accessories-detail .spotme-block img {
    width: 560px;
    max-width: 100%;
    height: auto;
  }

  #contenusingle.accessories-detail .reference-grid {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
    align-items: end;
  }

  #contenusingle.accessories-detail .reference-grid figure {
    text-align: center;
  }

  #contenusingle.accessories-detail .reference-grid img {
    display: block;
    width: 112px;
    max-width: 100%;
    height: 74px;
    object-fit: contain;
    margin: 0 auto 8px auto;
  }

  #contenusingle.accessories-detail .reference-grid figcaption {
    color: #333;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 12px;
    text-align: center;
  }

  #prodLoads.downloads-section {
    float: none;
    clear: none;
    grid-column: 1 / -1;
    order: 4;
    width: 895px;
    margin: 92px 0 34px 35px;
    padding: 28px 32px 34px 32px;
    border-top: 4px solid #139fc8;
    background: #fff;
    box-shadow: 0 8px 24px rgba(25, 36, 44, 0.12);
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
  }

  #prodLoads.downloads-section p,
  #prodLoads.downloads-section h2,
  #prodLoads.downloads-section h3,
  #prodLoads.downloads-section ul,
  #prodLoads.downloads-section li {
    display: block;
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: none;
    background-image: none;
    list-style: none;
    text-align: left;
  }

  .downloads-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 8px 0;
  }

  .downloads-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 2px solid #139fc8;
    border-radius: 50%;
    color: #139fc8;
    font-size: 24px;
    line-height: 1;
    flex: 0 0 46px;
  }

  #prodLoads.downloads-section h2 {
    font-size: 36px;
    line-height: 40px;
    color: #139fc8;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0;
  }

  #prodLoads.downloads-section .downloads-intro {
    display: block;
    color: #555;
    font-size: 15px;
    line-height: 23px;
    margin: 0 0 24px 60px;
  }

  .download-accordion {
    border-top: 1px solid #dce2e7;
  }

  .download-panel {
    border-bottom: 1px solid #dce2e7;
  }

  .download-panel summary {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    min-height: 62px;
    padding: 18px 4px;
    color: #24272a;
    cursor: pointer;
    font-size: 18px;
    font-weight: 800;
    line-height: 22px;
    list-style: none;
  }

  .download-panel summary::-webkit-details-marker {
    display: none;
  }

  .download-panel summary:after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #139fc8;
    border: 1px solid #139fc8;
    font-size: 20px;
    font-weight: 600;
    flex: 0 0 28px;
    margin-left: auto;
  }

  .download-panel[open] summary:after {
    content: "-";
    line-height: 24px;
  }

  .download-panel-title {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .download-panel-title i {
    color: #139fc8;
    font-size: 20px;
    width: 24px;
    text-align: center;
  }

  .download-count {
    color: #666;
    font-size: 12px;
    font-weight: 700;
    margin-left: 20px;
    white-space: nowrap;
    text-transform: none;
  }

  .download-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 0 22px 36px;
  }

  .download-row {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 14px;
    border: 1px solid #d9e0e6;
    border-radius: 8px;
    color: #2b2f33;
    background: #fff;
  }

  .download-row:hover {
    border-color: #139fc8;
    box-shadow: 0 5px 14px rgba(19, 159, 200, 0.16);
  }

  .download-row-title {
    display: block;
    color: #24272a;
    font-size: 15px;
    font-weight: 800;
    line-height: 19px;
    margin: 0 0 4px 0;
  }

  .download-meta {
    display: block;
    color: #646b71;
    font-size: 12px;
    font-weight: 500;
    line-height: 17px;
  }

  .download-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    height: 28px;
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0;
  }

  .download-type.pdf {
    background: #d30f2f;
  }

  .download-type.zip {
    background: #138a42;
  }

  .download-type.folder {
    background: #f2a000;
  }

  .download-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #139fc8;
    border-radius: 5px;
    color: #139fc8;
    font-size: 12px;
    font-weight: 800;
    line-height: 16px;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .mobile-download-links {
    display: none;
  }

  .mobile-accessory-gallery {
    display: none;
  }

  @media (max-width: 767px) {
    html,
    body {
      overflow-x: hidden;
    }

    #wrap,
    #container,
    #header,
    #topnavWrap,
    #menu-wrap,
    #filAriane {
      width: 100%;
      max-width: 100%;
    }

    #filAriane {
      overflow-x: auto;
    }

    #header h1 {
      display: none;
    }

    #contenusingle.accessories-detail {
      display: flex;
      flex-direction: column;
      width: 100%;
      overflow: hidden;
    }

    #contenusingle.accessories-detail #pagefollowspots {
      order: 1;
    }

    #prodLoads.downloads-section {
      order: 3;
    }

    #contenusingle.accessories-detail .imgproduit {
      order: 2;
      display: none;
    }

    .mobile-accessory-gallery {
      display: grid;
      order: 2;
      grid-template-columns: 1fr;
      gap: 18px;
      width: calc(100vw - 24px);
      margin: 16px 12px 4px 12px;
    }

    .mobile-accessory-gallery figure {
      margin: 0;
      padding: 16px 12px;
      border: 1px solid #e0e5e9;
      border-radius: 8px;
      background: #fff;
      text-align: center;
    }

    .mobile-accessory-gallery img {
      display: inline-block;
      max-width: 100%;
      height: auto;
      max-height: 230px;
      object-fit: contain;
    }

    .mobile-accessory-gallery figcaption {
      margin-top: 10px;
      color: #333;
      font-family: "Montserrat", "Open Sans", Arial, sans-serif;
      font-size: 12px;
      font-weight: 800;
      line-height: 16px;
      text-transform: uppercase;
    }

    #contenusingle.accessories-detail .accessories-extra {
      order: 4;
      width: calc(100vw - 24px);
      margin: 24px 12px 0 12px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
    }

    #contenusingle.accessories-detail .spotme-block,
    #contenusingle.accessories-detail .reference-grid {
      grid-column: auto;
      grid-row: auto;
      width: 100%;
    }

    #contenusingle.accessories-detail .spotme-block img {
      width: 100%;
    }

    #contenusingle.accessories-detail .reference-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #contenusingle.accessories-detail .proddetails,
    #contenusingle.accessories-detail .descatasinglelens,
    #contenusingle.accessories-detail .mobile-download-links p {
      width: auto;
      max-width: calc(100vw - 56px);
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: normal;
    }

    #contenusingle.accessories-detail .proddetails {
      font-size: 10px;
      line-height: 20px;
    }

    .mobile-download-links {
      display: block;
      margin: 18px 0 8px 0;
      padding: 12px;
      border-left: 4px solid #139fc8;
      background: rgba(19, 159, 200, 0.08);
      font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    }

    .mobile-download-links p {
      margin: 0 0 10px 0;
      color: #333;
      font-size: 13px;
      font-weight: 700;
      line-height: 18px;
    }

    .mobile-download-links a {
      display: inline-block;
      margin: 0 6px 6px 0;
      padding: 7px 9px;
      border: 1px solid #139fc8;
      border-radius: 4px;
      color: #139fc8;
      background: #fff;
      font-size: 11px;
      font-weight: 800;
      line-height: 14px;
      text-transform: uppercase;
    }

    #pagefollowspots,
    .imgproduit,
    .accessories-extra,
    #prodLoads.downloads-section {
      float: none;
      position: static;
      width: calc(100vw - 24px);
      margin-left: 12px;
      margin-right: 12px;
    }

    #pagefollowspots img,
    .accessories-extra img,
    .imgproduit img {
      max-width: 100%;
      height: auto;
    }

    #prodLoads.downloads-section {
      clear: both;
      width: calc(100vw - 48px);
      max-width: none;
      margin-left: 24px;
      margin-right: 24px;
      margin-top: 30px;
      padding: 22px 14px 28px 14px;
    }

    #prodLoads.downloads-section h2 {
      font-size: 30px;
      line-height: 34px;
    }

    #prodLoads.downloads-section .downloads-intro {
      width: 100%;
      max-width: 300px;
      margin-left: 0;
      font-size: 13px;
      line-height: 20px;
      white-space: normal;
      overflow-wrap: normal;
    }

    .download-panel summary {
      align-items: flex-start;
      font-size: 15px;
      line-height: 20px;
    }

    .download-list {
      display: block;
      padding-left: 0;
    }

    .download-row {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 10px;
      margin-bottom: 10px;
    }

    .download-action {
      grid-column: 1 / -1;
      justify-content: center;
      width: 100%;
    }


  }

/* --------------------------------------------------------------------------
   Home Page
   -------------------------------------------------------------------------- */
.home-responsive * {
    box-sizing: border-box;
  }

  .home-responsive img {
    max-width: 100%;
    height: auto;
  }

  .home-responsive #logoheader img {
    margin: 5px;
  }

  .home-responsive #siteFR img {
    width: 33px !important;
    height: 18px !important;
    max-width: none !important;
  }

  .home-responsive #mapHeader img {
    width: 55px !important;
    height: 30px !important;
    max-width: none !important;
  }

  .home-responsive .slider-container {
    margin-bottom: 50px;
  }

  .home-responsive #banner-container {
    margin-bottom: 40px;
  }

  .home-responsive .advert {
    margin: 40px 0;
  }

  @media (min-width: 768px) {
    .home-responsive #mapHeader {
      width: 128px !important;
    }
  }

  @media (max-width: 767px) {
    html,
    body {
      overflow-x: hidden;
    }

    body {
      min-width: 0;
      background-position: center top;
      background-attachment: scroll;
    }

    #footerRJ01,
    #footerRJ01 * {
      box-sizing: border-box;
    }

    #wrap,
    #container,
    #header,
    #topnavWrap,
    #menu-wrap,
    #filAriane,
    #contenunews,
    #footerRJ01,
    #foot {
      width: 100%;
      max-width: 100%;
    }

    #wrap {
      min-height: 0 !important;
      margin-bottom: 0 !important;
    }

    #container,
    #contenunews {
      float: none;
      overflow: visible;
    }

    #header {
      position: relative;
      height: 130px;
      overflow: visible;
    }

    #header h1 {
      display: none;
    }

    #logoheader {
      width: 210px;
    }

    #header > ul {
      position: absolute;
      top: 26px;
      right: 6px;
      display: flex;
      flex-direction: row-reverse;
      align-items: flex-start;
      justify-content: flex-end;
      gap: 16px;
      float: none;
      width: auto;
      height: auto;
      margin: 0;
      padding: 0;
      z-index: 35;
    }

    #header > ul li,
    #siteFR,
    #mapHeader {
      float: none;
      display: block;
      width: auto;
      height: auto;
      margin: 0;
      padding: 0;
    }

    #siteFR img {
      display: block;
      width: 31px;
      height: auto;
    }

    #mapHeader img {
      display: block;
      width: 55px;
      height: 30px;
    }

    #topnavWrap {
      height: auto;
      overflow: visible;
      z-index: 30;
    }

    #menu-trigger {
      position: relative;
      padding: 0 48px 0 35px;
      font-size: 14px;
      letter-spacing: 0;
      border-color: #050505;
      color: #F6C;
      background: #111;
      background-image: linear-gradient(#2a2a2a, #050505);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.16) inset;
      text-shadow: 0 1px 0 #000;
    }

    #menu-trigger:after {
      content: "+";
      position: absolute;
      right: 18px;
      top: 0;
      color: #F6C;
      font-size: 22px;
      font-weight: 700;
      line-height: 40px;
    }

    #menu-wrap.menu-open #menu-trigger:after {
      content: "-";
    }

    #menu-wrap.menu-open #menu {
      display: block;
      border-color: #050505;
      background: #111;
      background-image: linear-gradient(#2a2a2a, #050505);
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
    }

    #menu-wrap.menu-open #menu,
    #menu-wrap.menu-open #menu ul {
      z-index: 40;
    }

    #menu-wrap.menu-open #menu ul {
      display: block;
      position: static;
      width: 100%;
      margin: 0;
      opacity: 1;
      visibility: visible;
      background: rgba(255, 255, 255, 0.035);
      box-shadow: none;
      border-radius: 0;
    }

    #menu-wrap.menu-open #menu ul:before,
    #menu-wrap.menu-open #menu ul:after,
    #menu-wrap.menu-open #menu ul li:first-child > a:after {
      display: none;
      border: 0;
      content: none;
    }

    #menu-wrap.menu-open #menu li,
    #menu-wrap.menu-open #menu ul li {
      margin: 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    #menu-wrap.menu-open #menu a,
    #menu-wrap.menu-open #menu ul a {
      color: #f1f1f1;
      min-height: 40px;
      padding: 11px 14px;
      line-height: 18px;
      text-align: left;
      text-shadow: 0 1px 0 #000;
    }

    #menu-wrap.menu-open #menu ul a {
      padding-left: 30px;
      color: #e7e7e7;
      font-size: 11px;
    }

    #menu-wrap.menu-open #menu a:hover,
    #menu-wrap.menu-open #menu ul a:hover {
      color: #F6C;
    }

    #filAriane {
      overflow-x: auto;
    }

    #filAriane ul {
      min-width: max-content;
    }

    .slider-breakout,
    .slider-container,
    #banner-container,
    #banner-wrapper,
    .advert,
    #partners {
      float: none;
      width: calc(100vw - 24px) !important;
      max-width: calc(100vw - 24px);
      margin-left: 12px !important;
      margin-right: 12px !important;
    }

    .slider-breakout .slider-container,
    #banner-container #banner-wrapper {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    .slider-container {
      height: auto !important;
      overflow: visible;
      background: #111;
      border-radius: 0;
    }

    .slide {
      position: relative;
      display: none;
      width: 100%;
      height: auto;
      min-height: 0;
      overflow: visible;
      background: #111;
    }

    .slide.active {
      display: block;
    }

    .slide img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
    }

    .slide-content {
      position: static;
      width: 100%;
      padding: 16px 20px 54px 14px;
      color: #fff;
      background: linear-gradient(#202020, #080808);
    }

    .slide-content h2 {
      margin: 0 0 10px 0;
      max-width: 100%;
      font-size: 17px;
      line-height: 22px;
      overflow-wrap: anywhere;
    }

    .slide-content p {
      margin: 0 0 14px 0;
      max-width: 100%;
      font-size: 13px;
      line-height: 20px;
      overflow-wrap: anywhere;
    }

    .slide-content a {
      display: inline-block;
      padding: 8px 12px;
      border: 1px solid #139fc8;
      color: #139fc8;
      background: #fff;
      font-weight: 700;
      text-decoration: none;
    }

    .prev,
    .next {
      top: auto;
      bottom: 12px;
      width: 38px;
      height: 38px;
      line-height: 34px;
    }

    .prev {
      left: 12px;
    }

    .next {
      right: 12px;
    }

    .slider-pagination {
      right: 50%;
      bottom: 22px;
      transform: translateX(50%);
    }

    #banner-container,
    #banner-wrapper {
      height: auto !important;
      overflow: hidden;
    }

    .top-banner-ad {
      width: 100%;
      height: auto;
    }

    .top-banner-ad img,
    .advert img {
      display: block;
      width: 100% !important;
      max-width: 100%;
      height: auto;
    }

    .advert {
      margin-top: 24px !important;
      margin-bottom: 24px !important;
    }

    .advert .mask {
      display: none;
    }

    #partners {
      padding: 18px 0 22px 0;
      overflow: hidden;
    }

    #partners-title {
      padding: 0 12px;
      font-size: 13px;
      line-height: 18px;
      text-align: center;
    }

    #partners-inner {
      width: 100%;
      overflow: hidden;
    }

    #partners-belt {
      display: flex;
      align-items: center;
    }

    .partner-logo {
      flex: 0 0 120px;
      max-width: 120px;
      padding: 0 10px;
    }

    .partner-logo img {
      max-width: 100%;
      height: auto;
    }

    #footerRJ01 {
      height: auto;
      min-height: 0;
      padding: 26px 18px 30px 18px;
    }

    #foot,
    #footerRJ01 #left,
    #review,
    .site-footer-meta {
      float: none;
      width: 100%;
      height: auto;
      margin: 0;
      text-align: center;
    }

    #footerRJ01 h1 {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 6px 10px;
      width: 100%;
      max-width: 430px;
      margin: 0 auto;
      line-height: 22px;
    }

    #footerRJ01 h1 a {
      display: inline-block;
      padding: 2px 4px;
      line-height: 18px;
    }

    #review,
    .site-footer-meta {
      margin-top: 22px;
    }

    #review p,
    .site-footer-meta p {
      margin: 0;
      line-height: 20px;
    }

    .go-top {
      right: 12px;
      bottom: 12px;
    }
  }
