.elementor-827 .elementor-element.elementor-element-0e23767 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-827 .elementor-element.elementor-element-38c9b6a:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-element-populated >  .elementor-background-overlay{opacity:0.5;}.elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 100px 100px 100px;}.elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-ad5c6b1 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-accent );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-1885397{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-accent );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button{background-color:var( --e-global-color-2e5f277 );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:600;line-height:29px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-2e5f277 );border-radius:0px 0px 0px 0px;padding:8px 50px 8px 50px;}.elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button:hover, .elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-text );border-color:var( --e-global-color-accent );}.elementor-827 .elementor-element.elementor-element-ed8cb10 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button:hover svg, .elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-827 .elementor-element.elementor-element-7ff466e:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idahosunrooms.com/wp-content/uploads/2017/01/4-1-04-rs-001-1.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-element-populated >  .elementor-background-overlay{opacity:0.5;}.elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 100px 100px 100px;}.elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-827 .elementor-element.elementor-element-0882a71{--spacer-size:400px;}.elementor-827 .elementor-element.elementor-element-96ca5fd > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-827 .elementor-element.elementor-element-96ca5fd{padding:80px 0px 80px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-e399127 img{width:100%;height:600px;}.elementor-827 .elementor-element.elementor-element-60a7039 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:15px;}.elementor-827 .elementor-element.elementor-element-60a7039 > .elementor-element-populated{margin:0px 25px 0px 25px;--e-column-margin-right:25px;--e-column-margin-left:25px;}.elementor-827 .elementor-element.elementor-element-8b8bedf{text-align:start;}.elementor-827 .elementor-element.elementor-element-8b8bedf .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:42px;font-weight:700;line-height:52px;color:var( --e-global-color-text );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-827 .elementor-element.elementor-element-ca67a2b{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:5px;}.elementor-827 .elementor-element.elementor-element-ca67a2b .elementor-divider-separator{width:23%;margin:0 auto;margin-left:0;}.elementor-827 .elementor-element.elementor-element-ca67a2b .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-827 .elementor-element.elementor-element-f4c12da{text-align:start;font-family:"Open Sans", Sans-serif;font-size:17px;font-weight:400;line-height:28px;}.elementor-827 .elementor-element.elementor-element-b908f86 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-827 .elementor-element.elementor-element-b908f86:not(.elementor-motion-effects-element-type-background), .elementor-827 .elementor-element.elementor-element-b908f86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-b908f86{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-827 .elementor-element.elementor-element-b908f86 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-827 .elementor-element.elementor-element-76b3750 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-827 .elementor-element.elementor-element-3ee0f3e{text-align:start;}.elementor-827 .elementor-element.elementor-element-3ee0f3e .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-accent );}.elementor-827 .elementor-element.elementor-element-5c1ae08{--divider-border-style:solid;--divider-color:var( --e-global-color-accent );--divider-border-width:5px;}.elementor-827 .elementor-element.elementor-element-5c1ae08 .elementor-divider-separator{width:18%;margin:0 auto;margin-left:0;}.elementor-827 .elementor-element.elementor-element-5c1ae08 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-827 .elementor-element.elementor-element-ab7583e{text-align:start;font-family:"Open Sans", Sans-serif;font-size:17px;font-weight:400;line-height:28px;color:var( --e-global-color-accent );}.elementor-827 .elementor-element.elementor-element-9d7645d > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-827 .elementor-element.elementor-element-9d7645d:not(.elementor-motion-effects-element-type-background), .elementor-827 .elementor-element.elementor-element-9d7645d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-827 .elementor-element.elementor-element-9d7645d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-827 .elementor-element.elementor-element-9d7645d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-827 .elementor-element.elementor-element-1157fbf{text-align:center;}.elementor-827 .elementor-element.elementor-element-1157fbf .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-text );}.elementor-827 .elementor-element.elementor-element-aa62b6a{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:5px;}.elementor-827 .elementor-element.elementor-element-aa62b6a .elementor-divider-separator{width:22%;margin:0 auto;margin-center:0;}.elementor-827 .elementor-element.elementor-element-aa62b6a .elementor-divider{text-align:center;padding-block-start:0px;padding-block-end:0px;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-827 .elementor-element.elementor-element-d0f3d58 .gallery-item .gallery-caption{display:none;}.elementor-827 .elementor-element.elementor-element-d0f3d58 .gallery-item{padding:0 15px 15px 0;}.elementor-827 .elementor-element.elementor-element-d0f3d58 .gallery{margin:0 -15px -15px 0;}.elementor-827 .elementor-element.elementor-element-7c47c8a > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-827 .elementor-element.elementor-element-7c47c8a:not(.elementor-motion-effects-element-type-background), .elementor-827 .elementor-element.elementor-element-7c47c8a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8e77742 );}.elementor-827 .elementor-element.elementor-element-7c47c8a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-827 .elementor-element.elementor-element-7c47c8a > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-827 .elementor-element.elementor-element-7ece8a9.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-827 .elementor-element.elementor-element-971a4ed{text-align:center;}.elementor-827 .elementor-element.elementor-element-971a4ed .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-1af1f5f{text-align:center;}.elementor-827 .elementor-element.elementor-element-1af1f5f .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:18px;font-weight:700;line-height:28px;color:var( --e-global-color-text );}.elementor-827 .elementor-element.elementor-element-d1ac2ca{text-align:center;font-family:"Open Sans", Sans-serif;font-size:17px;font-weight:400;line-height:28px;color:var( --e-global-color-text );}.elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button{background-color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:600;line-height:29px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-style:none;border-radius:0px 0px 0px 0px;padding:10px 50px 10px 50px;}.elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button:hover, .elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );border-color:var( --e-global-color-secondary );}.elementor-827 .elementor-element.elementor-element-8aa149f{width:auto;max-width:auto;}.elementor-827 .elementor-element.elementor-element-8aa149f > .elementor-widget-container{margin:0px 20px 0px 0px;}.elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button:hover svg, .elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:600;line-height:29px;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:none;border-radius:0px 0px 0px 0px;padding:10px 50px 10px 50px;}.elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button:hover, .elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-accent );border-color:var( --e-global-color-primary );}.elementor-827 .elementor-element.elementor-element-f292bf1{width:auto;max-width:auto;}.elementor-827 .elementor-element.elementor-element-f292bf1 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button:hover svg, .elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button:focus svg{fill:var( --e-global-color-accent );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-827 .elementor-element.elementor-element-2112655{width:50%;}.elementor-827 .elementor-element.elementor-element-020b83c{width:50%;}}@media(max-width:1024px){.elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-element-populated{padding:20px 20px 20px 20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-827 .elementor-element.elementor-element-ad5c6b1 .elementor-heading-title{font-size:36px;line-height:1.2em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-1885397{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button{font-size:16px;}.elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-element-populated{padding:20px 20px 20px 20px;}.elementor-827 .elementor-element.elementor-element-0882a71{--spacer-size:390px;}.elementor-827 .elementor-element.elementor-element-96ca5fd{padding:50px 0px 50px 0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-e399127 img{height:500px;object-fit:cover;}.elementor-827 .elementor-element.elementor-element-60a7039 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-827 .elementor-element.elementor-element-8b8bedf .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-827 .elementor-element.elementor-element-f4c12da{font-size:17px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-b908f86{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-3ee0f3e .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-5c1ae08 .elementor-divider-separator{width:50%;}.elementor-827 .elementor-element.elementor-element-ab7583e{font-size:17px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-9d7645d{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-1157fbf .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-aa62b6a .elementor-divider-separator{width:50%;}.elementor-827 .elementor-element.elementor-element-7c47c8a{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-971a4ed .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-d1ac2ca{font-size:17px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button{font-size:16px;}.elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button{font-size:16px;}}@media(max-width:767px){.elementor-827 .elementor-element.elementor-element-0e23767{padding:0px 0px 0px 0px;}.elementor-827 .elementor-element.elementor-element-38c9b6a > .elementor-element-populated{padding:30px 10px 30px 10px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-827 .elementor-element.elementor-element-ad5c6b1{text-align:center;}.elementor-827 .elementor-element.elementor-element-ad5c6b1 .elementor-heading-title{font-size:28px;line-height:1.3em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-1885397{text-align:center;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-ed8cb10 .elementor-button{font-size:18px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-7ff466e > .elementor-element-populated{padding:30px 10px 30px 10px;}.elementor-827 .elementor-element.elementor-element-0882a71{--spacer-size:200px;}.elementor-827 .elementor-element.elementor-element-96ca5fd{padding:50px 0px 50px 0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-827 .elementor-element.elementor-element-e399127 img{height:245px;object-fit:cover;}.elementor-827 .elementor-element.elementor-element-8b8bedf .elementor-heading-title{font-size:28px;line-height:1.2em;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-827 .elementor-element.elementor-element-f4c12da{font-size:16px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-b908f86{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-3ee0f3e{text-align:center;}.elementor-827 .elementor-element.elementor-element-3ee0f3e .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-5c1ae08 .elementor-divider-separator{width:32%;margin:0 auto;margin-center:0;}.elementor-827 .elementor-element.elementor-element-5c1ae08 .elementor-divider{text-align:center;}.elementor-827 .elementor-element.elementor-element-ab7583e{text-align:center;font-size:16px;line-height:1.9em;}.elementor-827 .elementor-element.elementor-element-9d7645d > .elementor-container{max-width:1222px;}.elementor-827 .elementor-element.elementor-element-9d7645d{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-1157fbf{text-align:center;}.elementor-827 .elementor-element.elementor-element-1157fbf .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-aa62b6a .elementor-divider-separator{width:32%;margin:0 auto;margin-center:0;}.elementor-827 .elementor-element.elementor-element-aa62b6a .elementor-divider{text-align:center;}.elementor-827 .elementor-element.elementor-element-7c47c8a > .elementor-container{max-width:1222px;}.elementor-827 .elementor-element.elementor-element-7c47c8a{padding:50px 0px 50px 0px;}.elementor-827 .elementor-element.elementor-element-971a4ed{text-align:center;}.elementor-827 .elementor-element.elementor-element-971a4ed .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-827 .elementor-element.elementor-element-1af1f5f{text-align:center;}.elementor-827 .elementor-element.elementor-element-1af1f5f .elementor-heading-title{font-size:16px;line-height:1.5em;}.elementor-827 .elementor-element.elementor-element-d1ac2ca{font-size:16px;line-height:1.3em;}.elementor-827 .elementor-element.elementor-element-8aa149f > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-827 .elementor-element.elementor-element-8aa149f .elementor-button{font-size:18px;line-height:1.3em;padding:10px 60px 10px 60px;}.elementor-827 .elementor-element.elementor-element-f292bf1 .elementor-button{font-size:18px;line-height:1.3em;}}@media(max-width:1024px) and (min-width:768px){.elementor-827 .elementor-element.elementor-element-3767160{width:100%;}.elementor-827 .elementor-element.elementor-element-60a7039{width:100%;}.elementor-827 .elementor-element.elementor-element-2112655{width:32%;}.elementor-827 .elementor-element.elementor-element-020b83c{width:68%;}}/* Start custom CSS for image-gallery, class: .elementor-element-d0f3d58 *//* Gallery image container - space only on image */
.elementor-image-gallery .gallery-item {
    position: relative;
    overflow: hidden;
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Professional overlay */
.elementor-image-gallery .gallery-item .gallery-icon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(37, 74, 109, 0.35);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    pointer-events: none;
}

.elementor-image-gallery .gallery-item .gallery-icon:hover::before {
    opacity: 1;
}

/* Professional zoom animation */
.elementor-image-gallery .gallery-item img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 0 !important;
}

.elementor-image-gallery .gallery-item:hover img {
    transform: scale(1.08);
}

/* Shine effect */
.elementor-image-gallery .gallery-item .gallery-icon::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        rgba(255,255,255,0) 30%,
        rgba(255,255,255,0.1) 50%,
        rgba(255,255,255,0) 70%
    );
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 2;
    pointer-events: none;
}

.elementor-image-gallery .gallery-item:hover .gallery-icon::after {
    opacity: 1;
    animation: shine 0.8s ease-out;
}

@keyframes shine {
    0%  { transform: translateX(-100%) rotate(45deg); }
    100% { transform: translateX(100%) rotate(45deg); }
}

.elementor-image-gallery .gallery-item {
    cursor: pointer;
}

/* ─── TABLET — 3 columns full fix ─── */
@media (min-width: 769px) and (max-width: 1024px) {

    /* Force the gallery wrapper to be a proper grid */
    .elementor-image-gallery .gallery {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Kill Elementor's <dl> default styles that shrink items */
    .elementor-image-gallery .gallery-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    /* Force the anchor/icon wrapper to fill the cell */
    .elementor-image-gallery .gallery-item .gallery-icon,
    .elementor-image-gallery .gallery-item a,
    .elementor-image-gallery .gallery-item > * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Force image to fill its parent fully */
    .elementor-image-gallery .gallery-item img {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        display: block !important;
    }
}

/* ─── MOBILE — 2 columns ─── */
@media (max-width: 768px) {

    .elementor-image-gallery .gallery {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementor-image-gallery .gallery-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .elementor-image-gallery .gallery-item .gallery-icon,
    .elementor-image-gallery .gallery-item a,
    .elementor-image-gallery .gallery-item > * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .elementor-image-gallery .gallery-item img {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        display: block !important;
    }
}

/* Hide all captions */
.elementor-image-gallery .gallery-item .gallery-caption,
.elementor-image-gallery .gallery-caption,
.elementor-image-gallery figcaption,
.elementor-image-gallery .wp-caption-text {
    display: none !important;
}/* End custom CSS */