.elementor-22665 .elementor-element.elementor-element-fac6221{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-421c069{--display:grid;--e-con-grid-template-columns:1.5fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:start;--align-items:center;}.elementor-22665 .elementor-element.elementor-element-54b47a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-29007566{--display:flex;}.elementor-22665 .elementor-element.elementor-element-642e5269{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-bb72046{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-bb72046 > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-bb72046 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-525a2818{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-525a2818 > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-525a2818 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-73354f7{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-4abe0a5c img{width:60%;}.elementor-22665 .elementor-element.elementor-element-4abe0a5c .widget-image-caption{color:var( --e-global-color-text );font-style:normal;}.elementor-22665 .elementor-element.elementor-element-3446481a img{width:60%;}.elementor-22665 .elementor-element.elementor-element-3446481a .widget-image-caption{color:var( --e-global-color-text );font-style:normal;}.elementor-22665 .elementor-element.elementor-element-31654b8b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-3305e3a3{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-3305e3a3 > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-3305e3a3 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-76d0de38{--display:flex;}.elementor-22665 .elementor-element.elementor-element-15a377fe{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-18340c37{--display:flex;}.elementor-22665 .elementor-element.elementor-element-4018640c{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-74a1b533{--display:flex;}.elementor-22665 .elementor-element.elementor-element-6ab19683{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-45c8d230{--display:flex;}.elementor-22665 .elementor-element.elementor-element-67878e51{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-2e49ded4{--display:flex;}.elementor-22665 .elementor-element.elementor-element-5ae34795{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-6e2aa05b{--display:flex;}.elementor-22665 .elementor-element.elementor-element-18d369e5{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-7496ba5a{--display:flex;}.elementor-22665 .elementor-element.elementor-element-6f50f93c{color:#5F5E5E;}.elementor-22665 .elementor-element.elementor-element-7baed3ce{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-22665 .elementor-element.elementor-element-7baed3ce > .elementor-widget-container{padding:0px 0px 0px 0px;}:where( .elementor-22665 .elementor-element.elementor-element-7baed3ce > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-weight:600;}.elementor-22665 .elementor-element.elementor-element-5eee0ddf > .elementor-widget-container{padding:0px 0px 50px 0px;}.elementor-22665 .elementor-element.elementor-element-5eee0ddf{font-size:15px;}.elementor-22665 .elementor-element.elementor-element-6cbf7b31{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-6280bf00{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-6280bf00 > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-6280bf00 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-7b4fac3f{--display:grid;--e-con-grid-template-columns:1fr 2fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--align-items:center;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-7520a04a{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:0px 0px 0px 0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-22665 .elementor-element.elementor-element-b1c214e .elementor-heading-title{color:var( --e-global-color-text );}.elementor-22665 .elementor-element.elementor-element-f4e8fef{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-22665 .elementor-element.elementor-element-777d7da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22665 .elementor-element.elementor-element-f530593 > .elementor-widget-container{background-color:var( --e-global-color-accent );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-f530593{text-align:center;}.elementor-22665 .elementor-element.elementor-element-f530593 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-4192ebf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22665 .elementor-element.elementor-element-21bee7d > .elementor-widget-container{background-color:var( --e-global-color-accent );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-21bee7d{text-align:center;}.elementor-22665 .elementor-element.elementor-element-21bee7d .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-8e4f1e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22665 .elementor-element.elementor-element-88ff374 > .elementor-widget-container{background-color:var( --e-global-color-accent );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-88ff374{text-align:center;}.elementor-22665 .elementor-element.elementor-element-88ff374 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-042dc37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22665 .elementor-element.elementor-element-99e4e46 > .elementor-widget-container{background-color:var( --e-global-color-accent );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-99e4e46{text-align:center;}.elementor-22665 .elementor-element.elementor-element-99e4e46 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-55ad10c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-694a26a{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-694a26a > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-694a26a .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-61021396{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-5461b53{width:100%;max-width:100%;text-align:center;}.elementor-22665 .elementor-element.elementor-element-5461b53 > .elementor-widget-container{background-color:var( --e-global-color-text );margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-5461b53 .elementor-heading-title{color:var( --e-global-color-f539929 );}.elementor-22665 .elementor-element.elementor-element-173b2cca{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:start;--align-items:center;}.elementor-22665 .elementor-element.elementor-element-7a81be50{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-3ee5c2ef img{width:60%;}.elementor-22665 .elementor-element.elementor-element-479e8045 img{width:60%;}.elementor-22665 .elementor-element.elementor-element-c1c50f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-afddbd0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-22665 .elementor-element.elementor-element-afddbd0{text-align:center;}.elementor-22665 .elementor-element.elementor-element-afddbd0 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-22665 .elementor-element.elementor-element-db8660c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-22665 .elementor-element.elementor-element-48371ca > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-22665 .elementor-element.elementor-element-48371ca{text-align:center;}.elementor-22665 .elementor-element.elementor-element-48371ca .elementor-heading-title{color:var( --e-global-color-text );}@media(min-width:768px){.elementor-22665 .elementor-element.elementor-element-fac6221{--content-width:100%;}.elementor-22665 .elementor-element.elementor-element-777d7da{--width:50%;}.elementor-22665 .elementor-element.elementor-element-4192ebf{--width:50%;}.elementor-22665 .elementor-element.elementor-element-8e4f1e2{--width:50%;}.elementor-22665 .elementor-element.elementor-element-042dc37{--width:50%;}}@media(max-width:1200px){.elementor-22665 .elementor-element.elementor-element-fac6221{--padding-top:20px;--padding-bottom:20px;--padding-left:10px;--padding-right:10px;}.elementor-22665 .elementor-element.elementor-element-421c069{--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-390e477{text-align:start;}.elementor-22665 .elementor-element.elementor-element-390e477 img{width:100%;}.elementor-22665 .elementor-element.elementor-element-469a81b{width:var( --container-widget-width, 450px );max-width:450px;--container-widget-width:450px;--container-widget-flex-grow:0;}.elementor-22665 .elementor-element.elementor-element-642e5269{--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-73354f7{--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-4abe0a5c img{width:60%;}.elementor-22665 .elementor-element.elementor-element-3446481a img{width:60%;}.elementor-22665 .elementor-element.elementor-element-3305e3a3 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-7baed3ce > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-5eee0ddf > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-6280bf00 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-7b4fac3f{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-f4e8fef{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-f530593 .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-21bee7d .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-88ff374 .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-99e4e46 .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-55ad10c{--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-694a26a > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-694a26a .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-75ae8ef > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-5461b53 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-173b2cca{--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-115adab6 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-7a81be50{--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-c1c50f1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-afddbd0 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-afddbd0 .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-830dca3 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-db8660c{--padding-top:20px;--padding-bottom:20px;--padding-left:00px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-48371ca .elementor-heading-title{font-size:20px;}.elementor-22665 .elementor-element.elementor-element-096031d > .elementor-widget-container{margin:10px 10px 10px 10px;}}@media(max-width:767px){.elementor-22665 .elementor-element.elementor-element-fac6221{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22665 .elementor-element.elementor-element-421c069{--e-con-grid-template-columns:1;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-390e477 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-469a81b{width:100%;max-width:100%;}.elementor-22665 .elementor-element.elementor-element-469a81b > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-29007566{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-642e5269{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-642e5269.e-con{--order:-99999 /* order start hack */;}.elementor-22665 .elementor-element.elementor-element-bb72046 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-525a2818 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-73354f7{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-4abe0a5c > .elementor-widget-container{padding:0px 0px 30px 0px;}.elementor-22665 .elementor-element.elementor-element-3305e3a3 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-6280bf00 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-7b4fac3f{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-f4e8fef{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22665 .elementor-element.elementor-element-777d7da{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-4192ebf{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-8e4f1e2{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-042dc37{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22665 .elementor-element.elementor-element-55ad10c{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22665 .elementor-element.elementor-element-694a26a > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-22665 .elementor-element.elementor-element-5461b53 > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-22665 .elementor-element.elementor-element-173b2cca{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-7a81be50{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-22665 .elementor-element.elementor-element-c1c50f1{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22665 .elementor-element.elementor-element-db8660c{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS *//* ==========================================================
   PSM TRI-STEP TABLES — GLOBAL CSS

   DESKTOP:
   - Inherits website / Elementor typography
   - Small + medium tables fit 50% columns
   - Large technical tables scroll when necessary

   TABLET + MOBILE:
   - Body / data: 11px
   - Headers: 10px
   - Same font size on tablet + mobile
   - Small + medium tables remain fitted
   - Large tables remain horizontally scrollable
   - Product code guide remains horizontally scrollable
   ========================================================== */


/* ==========================================================
   GLOBAL RESET
   ========================================================== */

.psm-spec-table,
.psm-code-guide,
.psm-table-wrap,
.psm-spec-table *,
.psm-code-guide *,
.psm-table-wrap * {
    box-sizing: border-box;
}


.psm-spec-table,
.psm-code-guide,
.psm-table-wrap {
    width: 100%;
    max-width: 100%;

    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}


/* ==========================================================
   RESPONSIVE WRAPPER
   ========================================================== */

.psm-table-scroll {
    width: 100%;
    max-width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}


/* ==========================================================
   ELEMENTOR SAFETY
   ========================================================== */

.elementor-widget-html:has(.psm-table-wrap),
.elementor-widget-html:has(.psm-table-wrap) .elementor-widget-container,
.elementor-widget-html:has(.psm-spec-table),
.elementor-widget-html:has(.psm-spec-table) .elementor-widget-container,
.elementor-widget-html:has(.psm-code-guide),
.elementor-widget-html:has(.psm-code-guide) .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


/* ==========================================================
   BASE TABLE
   Supports:
   .psm-spec-table table
   .psm-table
   ========================================================== */

.psm-spec-table table,
.psm-table {
    width: 100%;
    max-width: 100%;

    margin: 0;

    border: 2px solid #161616;

    border-collapse: collapse;
    border-spacing: 0;

    font-family: inherit;
    font-size: inherit;
    line-height: 1.25;
}


/* ==========================================================
   CELLS
   ========================================================== */

.psm-spec-table th,
.psm-spec-table td,
.psm-table th,
.psm-table td {
    border: 1px solid #161616;

    padding: 0.55em;

    text-align: center;
    vertical-align: middle;

    font-family: inherit;
    font-size: inherit;
    line-height: inherit;

    white-space: normal;

    word-break: normal;
    overflow-wrap: normal;

    hyphens: none;
}


/* ==========================================================
   HEADER
   ========================================================== */

.psm-spec-table thead th,
.psm-table thead th {
    background: #129eea;
    color: #ffffff;

    font-weight: 700;

    text-align: center;

    white-space: normal;

    word-break: normal;
    overflow-wrap: normal;
}


/* ==========================================================
   BODY
   ========================================================== */

.psm-spec-table tbody th,
.psm-table tbody th,
.psm-table tbody td {
    font-weight: 600;
}


/* Alternating rows */

.psm-spec-table tbody tr:nth-child(odd),
.psm-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}


.psm-spec-table tbody tr:nth-child(even),
.psm-table tbody tr:nth-child(even) td {
    background: #dcebf6;
}


/* ==========================================================
   SMALL TABLES
   4 COLUMNS
   Fits inside 50% Elementor column
   ========================================================== */

.psm-table-small table,
.psm-table-standard .psm-table {
    width: 100%;

    min-width: 0 !important;
    max-width: 100%;

    table-layout: fixed;
}


.psm-table-small .psm-table-scroll,
.psm-table-standard .psm-table-scroll {
    overflow-x: hidden;
    overflow-y: visible;
}


.psm-table-small th,
.psm-table-small td,
.psm-table-standard .psm-table th,
.psm-table-standard .psm-table td {
    width: 25%;

    white-space: normal;
}


/* ==========================================================
   MEDIUM TABLES
   5 COLUMNS
   Fits inside 50% Elementor column
   ========================================================== */

.psm-table-medium table,
.psm-table-medium .psm-table {
    width: 100%;

    min-width: 0 !important;
    max-width: 100%;

    table-layout: fixed;
}


.psm-table-medium .psm-table-scroll {
    overflow-x: hidden;
    overflow-y: visible;
}


.psm-table-medium th,
.psm-table-medium td,
.psm-table-medium .psm-table th,
.psm-table-medium .psm-table td {
    width: 20%;

    white-space: normal;
}


/* Longer headings */

.psm-table-medium th:nth-child(2),
.psm-table-medium th:nth-child(3) {
    width: 24%;
}


.psm-table-medium th:first-child {
    width: 20%;
}


.psm-table-medium th:nth-child(4),
.psm-table-medium th:nth-child(5) {
    width: 16%;
}


/* ==========================================================
   LARGE TECHNICAL TABLES
   HORIZONTALLY SCROLLABLE
   ========================================================== */

.psm-table-large .psm-table-scroll {
    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
}


.psm-table-large table,
.psm-table-large .psm-table {
    width: 1180px;
    min-width: 1180px;
    max-width: none;

    table-layout: auto;
}


/* Large table first column */

.psm-table-large tbody th,
.psm-table-large .psm-table tbody td:first-child {
    text-align: left;

    font-weight: 700;

    white-space: nowrap;
}


.psm-table-large .psm-table tbody td:first-child {
    padding-left: 1em;
}


/* Technical heading widths */

.psm-table-large thead th:first-child {
    min-width: 150px;
}


.psm-table-large thead th:nth-last-child(2) {
    min-width: 145px;
}


.psm-table-large thead th:last-child {
    min-width: 150px;
}


/* ==========================================================
   PRODUCT CODE GUIDE
   ========================================================== */

.psm-code-guide {
    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}


.psm-code-table {
    width: 100%;
    min-width: 850px;
    max-width: none;

    margin: 0;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;

    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}


.psm-code-table th,
.psm-code-table td {
    border: 0;

    background: transparent;

    padding: 0.8em 1em;

    vertical-align: middle;

    font-family: inherit;
    font-size: inherit;
    line-height: 1.35;
}


.psm-code-table thead th {
    background: transparent;
    color: inherit;

    font-weight: 700;

    text-align: left;
}


.psm-code-table thead th:first-child,
.psm-code-table tbody th {
    width: 25%;
}


.psm-code-table tbody th {
    text-align: left;

    font-weight: 400;

    white-space: nowrap;
}


.psm-code-table tbody td {
    text-align: left;

    white-space: nowrap;
}


.psm-code-highlight {
    color: #0589c9;

    font-weight: 700;
}


/* ==========================================================
   SCROLLBAR
   ========================================================== */

.psm-table-scroll::-webkit-scrollbar,
.psm-code-guide::-webkit-scrollbar {
    height: 7px;
}


.psm-table-scroll::-webkit-scrollbar-track,
.psm-code-guide::-webkit-scrollbar-track {
    background: #eeeeee;
}


.psm-table-scroll::-webkit-scrollbar-thumb,
.psm-code-guide::-webkit-scrollbar-thumb {
    background: #999999;

    border-radius: 20px;
}


/* ==========================================================
   TABLET
   768px - 1024px

   BODY / DATA: 11px
   HEADERS: 10px
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .psm-spec-table,
    .psm-code-guide,
    .psm-table-wrap {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }


    /* ======================================================
       ALL TABLE CELLS
       ====================================================== */

    .psm-spec-table th,
    .psm-spec-table td,
    .psm-table th,
    .psm-table td {
        font-size: 11px !important;
        line-height: 1.15 !important;

        padding: 5px 4px !important;
    }


    /* Headers */

    .psm-spec-table thead th,
    .psm-table thead th {
        font-size: 10px !important;
        line-height: 1.1 !important;

        padding: 5px 4px !important;

        white-space: normal !important;
    }


    /* ======================================================
       SMALL 4-COLUMN TABLES
       KEEP FITTED
       ====================================================== */

    .psm-table-small table,
    .psm-table-standard .psm-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        table-layout: fixed !important;
    }


    .psm-table-small .psm-table-scroll,
    .psm-table-standard .psm-table-scroll {
        overflow-x: hidden !important;
    }


    /* ======================================================
       MEDIUM 5-COLUMN TABLES
       KEEP FITTED
       ====================================================== */

    .psm-table-medium table,
    .psm-table-medium .psm-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        table-layout: fixed !important;
    }


    .psm-table-medium .psm-table-scroll {
        overflow-x: hidden !important;
    }


    /* ======================================================
       LARGE TECHNICAL TABLES
       HORIZONTAL SCROLL
       ====================================================== */

    .psm-table-large .psm-table-scroll {
        width: 100%;
        max-width: 100%;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 5px;
    }


    .psm-table-large table,
    .psm-table-large .psm-table {
        width: 1180px !important;
        min-width: 1180px !important;
        max-width: none !important;

        table-layout: auto !important;

        font-size: 11px !important;
    }


    .psm-table-large thead th {
        font-size: 10px !important;
    }


    /* ======================================================
       PRODUCT CODE GUIDE
       ====================================================== */

    .psm-code-guide {
        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 5px;
    }


    .psm-code-table {
        width: 850px !important;
        min-width: 850px !important;
        max-width: none !important;

        font-size: 11px !important;
        line-height: 1.15 !important;
    }


    .psm-code-table th,
    .psm-code-table td {
        font-size: 11px !important;
        line-height: 1.15 !important;

        padding: 6px 8px !important;
    }


    .psm-code-table thead th {
        font-size: 10px !important;
        line-height: 1.1 !important;
    }
}


/* ==========================================================
   MOBILE
   SAME TYPOGRAPHY AS TABLET
   ========================================================== */

@media (max-width: 767px) {

    .psm-spec-table,
    .psm-code-guide,
    .psm-table-wrap {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }


    .psm-table-scroll {
        padding-bottom: 5px;
    }


    /* ======================================================
       ALL CELLS
       ====================================================== */

    .psm-spec-table th,
    .psm-spec-table td,
    .psm-table th,
    .psm-table td {
        font-size: 11px !important;
        line-height: 1.15 !important;

        padding: 5px 4px !important;
    }


    /* Headers */

    .psm-spec-table thead th,
    .psm-table thead th {
        font-size: 10px !important;
        line-height: 1.1 !important;

        padding: 5px 4px !important;
    }


    /* ======================================================
       SMALL TABLES
       FULL WIDTH - NO SCROLL
       ====================================================== */

    .psm-table-small table,
    .psm-table-standard .psm-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        table-layout: fixed !important;
    }


    .psm-table-small .psm-table-scroll,
    .psm-table-standard .psm-table-scroll {
        overflow-x: hidden !important;
    }


    /* ======================================================
       MEDIUM TABLES
       FULL WIDTH - NO SCROLL
       ====================================================== */

    .psm-table-medium table,
    .psm-table-medium .psm-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        table-layout: fixed !important;
    }


    .psm-table-medium .psm-table-scroll {
        overflow-x: hidden !important;
    }


    /* ======================================================
       LARGE TECHNICAL TABLE
       HORIZONTAL SCROLL
       ====================================================== */

    .psm-table-large .psm-table-scroll {
        width: 100%;
        max-width: 100%;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;

        padding-bottom: 5px;
    }


    .psm-table-large table,
    .psm-table-large .psm-table {
        width: 1100px !important;
        min-width: 1100px !important;
        max-width: none !important;

        table-layout: auto !important;

        font-size: 11px !important;
    }


    .psm-table-large thead th {
        font-size: 10px !important;
    }


    /* ======================================================
       PRODUCT CODE GUIDE
       HORIZONTAL SCROLL
       ====================================================== */

    .psm-code-guide {
        width: 100%;
        max-width: 100%;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 5px;
    }


    .psm-code-table {
        width: 850px !important;
        min-width: 850px !important;
        max-width: none !important;

        font-size: 11px !important;
        line-height: 1.15 !important;
    }


    .psm-code-table th,
    .psm-code-table td {
        font-size: 11px !important;
        line-height: 1.15 !important;

        padding: 6px 8px !important;
    }


    .psm-code-table thead th {
        font-size: 10px !important;
        line-height: 1.1 !important;
    }
}


/* ==========================================================
   VERY SMALL MOBILE
   SAME SIZE - DO NOT SHRINK
   ========================================================== */

@media (max-width: 480px) {

    .psm-spec-table,
    .psm-code-guide,
    .psm-table-wrap {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }


    .psm-spec-table th,
    .psm-spec-table td,
    .psm-table th,
    .psm-table td {
        font-size: 11px !important;
        line-height: 1.15 !important;

        padding: 5px 4px !important;
    }


    .psm-spec-table thead th,
    .psm-table thead th {
        font-size: 10px !important;
        line-height: 1.1 !important;
    }


    /* Large table remains scrollable */

    .psm-table-large table,
    .psm-table-large .psm-table {
        width: 1100px !important;
        min-width: 1100px !important;
        max-width: none !important;
    }


    /* Product code remains scrollable */

    .psm-code-table {
        width: 850px !important;
        min-width: 850px !important;
        max-width: none !important;

        font-size: 11px !important;
    }
}/* End custom CSS */