/* ==========================================================================
   PRODUCT ITEM
   Dedicated layout. It does not use the inner-page Top Strip.
   ========================================================================== */

.product-item-page{
    background:#fff;
    color:#202d37;
}

/* A quiet surface behind the shared transparent header. */
.product-item-menu-band{
    height:var(--header-h);
    background:#eef1f7;
}

.product-item-top{
    padding:42px 0 48px;
    background:#fff;
}

.product-item-grid{
    display:grid;
    grid-template-columns:minmax(500px,1fr) minmax(0,1.05fr);
    gap:76px;
    align-items:start;
}

.product-item-copy{
    min-width:0;
}

.product-item-copy .breadcrumbs{
    margin:0 0 14px;
    color:#74818c;
    font-size:13px;
}

.product-item-copy h1{
    margin:0 0 24px;
    color:var(--blue);
    font-size:clamp(46px,3.4vw,62px);
    font-weight:300;
    line-height:1.05;
    letter-spacing:-.025em;
}

.product-item-abstract{
    margin-bottom:24px;
    color:#3f4d58;
    font-size:18px;
    line-height:1.55;
}

.product-item-content{
    max-width:680px;
    color:#45525d;
    font-size:16px;
    line-height:1.65;
}

.product-item-content p{
    margin:0 0 16px;
}

.product-item-copy .item-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

/* --------------------------------------------------------------------------
   Gallery
   -------------------------------------------------------------------------- */
.product-item-gallery{
    position:relative;
    width:92%;
    min-width:0;
    margin-left:auto;
}

.product-gallery-stage{
    position:relative;
    min-height:390px;
    overflow:hidden;
    background:#fff;
}

.product-gallery-slide{
    position:absolute;
    inset:0;
    display:grid;
    margin:0;
    place-items:center;
    opacity:0;
    visibility:hidden;
    transform:translateX(14px);
    transition:opacity .32s ease,transform .38s cubic-bezier(.2,.7,.2,1),visibility .32s ease;
}

.product-gallery-slide.is-active{
    opacity:1;
    visibility:visible;
    transform:none;
}

.product-gallery-slide img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:390px;
    object-fit:contain;
}

.product-gallery-arrow{
    position:absolute;
    z-index:4;
    top:50%;
    transform:translateY(-50%);
}

.product-gallery-prev{left:-28px;}
.product-gallery-next{right:-28px;}

.product-gallery-dots{
    display:flex;
    justify-content:center;
    gap:9px;
    margin:14px 0 20px;
}

.product-gallery-dots button{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#d5dade;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}

.product-gallery-dots button:hover{transform:scale(1.2);}
.product-gallery-dots button.is-active{background:#727c84;}

.product-gallery-thumbs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.product-gallery-thumb{
    height:94px;
    padding:10px;
    overflow:hidden;
    border:1px solid #e2e7ec;
    border-radius:7px;
    background:#fff;
    cursor:pointer;
    transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.product-gallery-thumb:hover{
    transform:translateY(-2px);
}

.product-gallery-thumb.is-active,
.product-gallery-thumb:hover{
    border-color:var(--blue);
    box-shadow:0 6px 18px rgba(58,87,167,.09);
}

.product-gallery-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

/* --------------------------------------------------------------------------
   Information: Tabs + Documentation
   -------------------------------------------------------------------------- */
.product-item-body{
    padding-bottom:90px;
}

.product-info-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 370px;
    gap:28px;
    align-items:start;
    margin:26px 0 72px;
}

.product-info-tabs{
    min-width:0;
}

.product-tabs{
    min-width:0;
    margin:0;
    background:transparent;
}
















.product-tab-nav{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
    margin:0 0 12px;
}

.product-tab-nav button{
    position:relative;
    min-height:74px;
    padding:14px 18px;
    border:0;
    border-radius:8px;
    background:#f8fbfd;
    box-shadow:0 6px 20px rgba(28,63,88,.085),inset 0 0 0 1px rgba(34,86,119,.07);
    color:#24313b;
    font-size:16px;
    font-weight:500;
    line-height:1.25;
    text-align:center;
    white-space:normal;
    cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}

.product-tab-nav button::after{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    bottom:0;
    height:3px;
    border-radius:3px;
    background:var(--cyan);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s ease;
}

.product-tab-nav button:hover{
    transform:translateY(-3px);
    background:#fff;
    box-shadow:0 10px 24px rgba(29,67,94,.08);
    color:var(--blue);
}

.product-tab-nav button[aria-selected="true"]{
    background:#fff;
    color:var(--blue);
    box-shadow:0 10px 25px rgba(29,67,94,.08);
}

.product-tab-nav button[aria-selected="true"]::after{
    transform:scaleX(1);
}

.product-tab-panels{
    min-height:150px;
    padding:24px 28px 28px;
    border:1px solid #e1e7ec;
    border-radius:8px;
    background:#fff;
    color:#45525d;
    font-size:16px;
    line-height:1.62;
}

.product-tab-panel{display:none;}
.product-tab-panel.is-active{display:block;}
.product-tab-panel p{margin:0 0 14px;}
.product-tab-panel p:last-child{margin-bottom:0;}

.product-documentation{
    position:sticky;
    top:calc(var(--header-h) + 24px);
    align-self:start;
    height:max-content;
    padding:18px;
    border-radius:8px;
    background:#f5f7fb;
}

.product-documentation h2{
    margin:0 0 13px;
    color:var(--blue);
    font-size:16px;
    font-weight:500;
}

.product-documentation-list{
    display:grid;
    gap:10px;
}

.product-document-row{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) 28px;
    min-height:64px;
    padding:10px 12px;
    align-items:center;
    gap:12px;
    border:1px solid #e2e7ec;
    border-radius:6px;
    background:#fff;
    color:#243644;
    box-shadow:0 4px 13px rgba(29,58,76,.035);
    transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease;
}

.product-document-row:hover{
    color:var(--blue);
    border-color:#cfdae3;
    box-shadow:0 8px 18px rgba(29,58,76,.07);
    transform:translateY(-2px);
}

.product-document-icon{
    display:grid;
    width:40px;
    height:44px;
    place-items:center;
    color:var(--blue);
    font-size:10px;
    font-weight:600;
    border:1px solid #bfd1e0;
    border-radius:3px;
}

.product-document-copy{min-width:0;}
.product-document-copy strong{
    display:block;
    overflow:hidden;
    color:inherit;
    font-size:14px;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.product-document-copy small{
    display:block;
    margin-top:3px;
    color:#7c8790;
    font-size:12px;
}
.product-document-download{
    color:var(--blue);
    font-size:24px;
    line-height:1;
}

.product-item-secondary{
    margin:0 0 70px;
    color:#45525d;
    font-size:16px;
    line-height:1.65;
}

.product-item-page .inner-related-section{
    margin-top:74px;
}

.product-item-page .inner-related-section .section-heading h2{
    font-size:30px;
    font-weight:400;
}

@media(max-width:1180px){
    .product-item-grid{
        grid-template-columns:minmax(430px,1fr) minmax(0,.95fr);
        gap:52px;
    }

    .product-info-grid{
        grid-template-columns:minmax(0,1fr) 320px;
    }
}

@media(max-width:900px){
    .product-item-menu-band{height:var(--header-h);}

    .product-item-grid{
        grid-template-columns:1fr;
    }

    .product-item-copy{
        max-width:760px;
    }

    .product-item-gallery{
        width:100%;
        max-width:760px;
        margin-left:0;
    }

    .product-info-grid{
        grid-template-columns:1fr;
    }

    .product-documentation{
        position:static;
    }

    .product-gallery-prev{left:8px;}
    .product-gallery-next{right:8px;}
}

@media(max-width:620px){
    .product-item-top{padding:30px 0 40px;}
    .product-item-copy h1{font-size:40px;}
    .product-item-abstract{font-size:16px;}
    .product-gallery-stage{min-height:280px;}
    .product-gallery-slide img{max-height:280px;}
    .product-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));}
    
    .product-tab-panels{padding:20px;}
}


.product-gallery-slide .gallery-lightbox-trigger{
    display:grid;
    width:100%;
    height:100%;
    padding:0;
    place-items:center;
    border:0;
    background:transparent;
    cursor:zoom-in;
}

.product-gallery-slide .gallery-lightbox-trigger img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:390px;
    object-fit:contain;
}


/* --------------------------------------------------------------------------
   Product Variants
   -------------------------------------------------------------------------- */
.product-variants{
    margin:26px 0 58px;
    padding:34px 36px 38px;
    border-radius:12px;
    background:#f7f9fc;
    box-shadow:0 14px 38px rgba(28,63,88,.07);
}

.product-variants-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:22px;
}

.product-variants-heading h2{
    margin:0;
    color:#18263c;
    font-size:28px;
    font-weight:400;
    line-height:1.2;
}

.product-variant-nav{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:26px;
}

.product-variant-nav button{
    min-height:46px;
    padding:10px 19px;
    border:1px solid #d8e2e9;
    border-radius:999px;
    background:#fff;
    color:#263746;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}

.product-variant-nav button:hover{
    border-color:var(--blue);
    color:var(--blue);
    transform:translateY(-1px);
}

.product-variant-nav button[aria-selected="true"]{
    border-color:var(--blue);
    background:var(--blue);
    color:#fff;
}

.product-variant-panel[hidden]{
    display:none;
}

.product-variant-panel-head{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px 34px;
    margin-bottom:22px;
}

.product-variant-panel-head h3{
    margin:0;
    color:var(--blue);
    font-size:24px;
    font-weight:400;
}

.product-variant-identifiers{
    display:flex;
    flex-wrap:wrap;
    gap:28px;
}

.product-variant-identifiers span{
    display:grid;
    gap:2px;
}

.product-variant-identifiers small{
    color:#7c8790;
    font-size:12px;
}

.product-variant-identifiers strong{
    color:#22313d;
    font-size:14px;
    font-weight:600;
}

.product-variant-note{
    flex-basis:100%;
    max-width:900px;
    color:#53616c;
    font-size:15px;
    line-height:1.6;
}

.product-variant-note p{
    margin:0;
}

.product-variant-parameters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:0;
    overflow:hidden;
    border:1px solid #dfe7ed;
    border-radius:9px;
    background:#fff;
}

.product-variant-parameter{
    min-width:0;
    padding:18px 20px;
    border-right:1px solid #e7edf1;
    border-bottom:1px solid #e7edf1;
}

.product-variant-parameter:nth-child(3n){
    border-right:0;
}

.product-variant-parameter dt{
    margin-bottom:6px;
    color:#7a8791;
    font-size:13px;
}

.product-variant-parameter dd{
    display:flex;
    align-items:baseline;
    gap:6px;
    margin:0;
    color:#1d2c38;
    font-size:17px;
    font-weight:600;
}

.product-variant-parameter dd small{
    color:#65727c;
    font-size:13px;
    font-weight:400;
}

.product-variant-files{
    margin-top:28px;
}

.product-variant-files h4{
    margin:0 0 13px;
    color:#253746;
    font-size:17px;
    font-weight:500;
}

.product-variant-files .product-documentation-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.product-item-page .inner-related-type-faq .faq-accordion{
    width:100%;
    max-width:none;
    margin-inline:0;
}

@media(max-width:900px){
    .product-variants{
        padding:26px 22px 30px;
    }

    .product-variant-parameters{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .product-variant-parameter:nth-child(3n){
        border-right:1px solid #e7edf1;
    }

    .product-variant-parameter:nth-child(2n){
        border-right:0;
    }
}

@media(max-width:620px){
    .product-variant-parameters,
    .product-variant-files .product-documentation-list{
        grid-template-columns:1fr;
    }

    .product-variant-parameter,
    .product-variant-parameter:nth-child(2n),
    .product-variant-parameter:nth-child(3n){
        border-right:0;
    }
}
