.elementor-829 .elementor-element.elementor-element-26aba70a > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-829 .elementor-element.elementor-element-5421ea8e:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-829 .elementor-element.elementor-element-5421ea8e > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-5421ea8e > .elementor-element-populated >  .elementor-background-overlay{opacity:0.5;}.elementor-829 .elementor-element.elementor-element-5421ea8e > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 100px 100px 100px;}.elementor-829 .elementor-element.elementor-element-5421ea8e > .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-829 .elementor-element.elementor-element-6d21bc3d .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-829 .elementor-element.elementor-element-7657068d{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-829 .elementor-element.elementor-element-34418d09 .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-829 .elementor-element.elementor-element-34418d09 .elementor-button:hover, .elementor-829 .elementor-element.elementor-element-34418d09 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-text );border-color:var( --e-global-color-accent );}.elementor-829 .elementor-element.elementor-element-34418d09 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-829 .elementor-element.elementor-element-34418d09 .elementor-button:hover svg, .elementor-829 .elementor-element.elementor-element-34418d09 .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-829 .elementor-element.elementor-element-51baa1db:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idahosunrooms.com/wp-content/uploads/2026/05/Demers-Good-Resize.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-element-populated >  .elementor-background-overlay{opacity:0.5;}.elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 100px 100px 100px;}.elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-829 .elementor-element.elementor-element-56f153f9{--spacer-size:400px;}.elementor-829 .elementor-element.elementor-element-b5ae314 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-829 .elementor-element.elementor-element-b5ae314{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-829 .elementor-element.elementor-element-96b5c9f img{width:100%;height:600px;}.elementor-829 .elementor-element.elementor-element-4d845c0 > .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-829 .elementor-element.elementor-element-4d845c0 > .elementor-element-populated{margin:0px 25px 0px 25px;--e-column-margin-right:25px;--e-column-margin-left:25px;}.elementor-829 .elementor-element.elementor-element-e76a91d{text-align:start;}.elementor-829 .elementor-element.elementor-element-e76a91d .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-829 .elementor-element.elementor-element-de968c7{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:5px;}.elementor-829 .elementor-element.elementor-element-de968c7 .elementor-divider-separator{width:23%;margin:0 auto;margin-left:0;}.elementor-829 .elementor-element.elementor-element-de968c7 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-829 .elementor-element.elementor-element-8852032{text-align:start;font-family:"Open Sans", Sans-serif;font-size:17px;font-weight:400;line-height:28px;}.elementor-829 .elementor-element.elementor-element-6710014 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-829 .elementor-element.elementor-element-6710014:not(.elementor-motion-effects-element-type-background), .elementor-829 .elementor-element.elementor-element-6710014 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-6710014{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-829 .elementor-element.elementor-element-6710014 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-829 .elementor-element.elementor-element-f35dda5 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-829 .elementor-element.elementor-element-b4e8dca{text-align:start;}.elementor-829 .elementor-element.elementor-element-b4e8dca .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-accent );}.elementor-829 .elementor-element.elementor-element-70c7402{--divider-border-style:solid;--divider-color:var( --e-global-color-accent );--divider-border-width:5px;}.elementor-829 .elementor-element.elementor-element-70c7402 .elementor-divider-separator{width:18%;margin:0 auto;margin-left:0;}.elementor-829 .elementor-element.elementor-element-70c7402 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-829 .elementor-element.elementor-element-ff0136f{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-829 .elementor-element.elementor-element-d301ce2 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-829 .elementor-element.elementor-element-d301ce2:not(.elementor-motion-effects-element-type-background), .elementor-829 .elementor-element.elementor-element-d301ce2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-829 .elementor-element.elementor-element-d301ce2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-829 .elementor-element.elementor-element-d301ce2 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-829 .elementor-element.elementor-element-7543b2f{text-align:center;}.elementor-829 .elementor-element.elementor-element-7543b2f .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-text );}.elementor-829 .elementor-element.elementor-element-8daa726{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:5px;}.elementor-829 .elementor-element.elementor-element-8daa726 .elementor-divider-separator{width:22%;margin:0 auto;margin-center:0;}.elementor-829 .elementor-element.elementor-element-8daa726 .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-829 .elementor-element.elementor-element-fef1f9e .gallery-item .gallery-caption{display:none;}.elementor-829 .elementor-element.elementor-element-fef1f9e .gallery-item{padding:0 15px 15px 0;}.elementor-829 .elementor-element.elementor-element-fef1f9e .gallery{margin:0 -15px -15px 0;}.elementor-829 .elementor-element.elementor-element-21f0bb0 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-829 .elementor-element.elementor-element-21f0bb0:not(.elementor-motion-effects-element-type-background), .elementor-829 .elementor-element.elementor-element-21f0bb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8e77742 );}.elementor-829 .elementor-element.elementor-element-21f0bb0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-829 .elementor-element.elementor-element-21f0bb0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-829 .elementor-element.elementor-element-b58560c.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-829 .elementor-element.elementor-element-0460f0d{text-align:center;}.elementor-829 .elementor-element.elementor-element-0460f0d .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:700;line-height:55px;color:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-30815a3{text-align:center;}.elementor-829 .elementor-element.elementor-element-30815a3 .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-829 .elementor-element.elementor-element-23d17bdd{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-829 .elementor-element.elementor-element-2169a72 .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-829 .elementor-element.elementor-element-2169a72 .elementor-button:hover, .elementor-829 .elementor-element.elementor-element-2169a72 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );border-color:var( --e-global-color-secondary );}.elementor-829 .elementor-element.elementor-element-2169a72{width:auto;max-width:auto;}.elementor-829 .elementor-element.elementor-element-2169a72 > .elementor-widget-container{margin:0px 20px 0px 0px;}.elementor-829 .elementor-element.elementor-element-2169a72 .elementor-button:hover svg, .elementor-829 .elementor-element.elementor-element-2169a72 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-e1d4355 .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-829 .elementor-element.elementor-element-e1d4355 .elementor-button:hover, .elementor-829 .elementor-element.elementor-element-e1d4355 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-accent );border-color:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-e1d4355{width:auto;max-width:auto;}.elementor-829 .elementor-element.elementor-element-e1d4355 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-829 .elementor-element.elementor-element-e1d4355 .elementor-button:hover svg, .elementor-829 .elementor-element.elementor-element-e1d4355 .elementor-button:focus svg{fill:var( --e-global-color-accent );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-829 .elementor-element.elementor-element-5b68227{width:50%;}.elementor-829 .elementor-element.elementor-element-edbfea6{width:50%;}}@media(max-width:1024px){.elementor-829 .elementor-element.elementor-element-5421ea8e > .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-829 .elementor-element.elementor-element-6d21bc3d .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-829 .elementor-element.elementor-element-7657068d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-829 .elementor-element.elementor-element-34418d09 .elementor-button{font-size:16px;}.elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-element-populated{padding:20px 20px 20px 20px;}.elementor-829 .elementor-element.elementor-element-56f153f9{--spacer-size:390px;}.elementor-829 .elementor-element.elementor-element-b5ae314{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-829 .elementor-element.elementor-element-96b5c9f img{height:500px;object-fit:cover;}.elementor-829 .elementor-element.elementor-element-4d845c0 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-829 .elementor-element.elementor-element-e76a91d .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-829 .elementor-element.elementor-element-8852032{font-size:17px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-6710014{padding:50px 0px 50px 0px;}.elementor-829 .elementor-element.elementor-element-b4e8dca .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-70c7402 .elementor-divider-separator{width:50%;}.elementor-829 .elementor-element.elementor-element-ff0136f{font-size:17px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-d301ce2{padding:50px 0px 50px 0px;}.elementor-829 .elementor-element.elementor-element-7543b2f .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-8daa726 .elementor-divider-separator{width:50%;}.elementor-829 .elementor-element.elementor-element-21f0bb0{padding:50px 0px 50px 0px;}.elementor-829 .elementor-element.elementor-element-0460f0d .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-23d17bdd{font-size:17px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-2169a72 .elementor-button{font-size:16px;}.elementor-829 .elementor-element.elementor-element-e1d4355 .elementor-button{font-size:16px;}}@media(max-width:767px){.elementor-829 .elementor-element.elementor-element-26aba70a{padding:0px 0px 0px 0px;}.elementor-829 .elementor-element.elementor-element-5421ea8e > .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-829 .elementor-element.elementor-element-6d21bc3d{text-align:center;}.elementor-829 .elementor-element.elementor-element-6d21bc3d .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-829 .elementor-element.elementor-element-7657068d{text-align:center;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-829 .elementor-element.elementor-element-34418d09 .elementor-button{font-size:18px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-51baa1db > .elementor-element-populated{padding:30px 10px 30px 10px;}.elementor-829 .elementor-element.elementor-element-56f153f9{--spacer-size:200px;}.elementor-829 .elementor-element.elementor-element-b5ae314{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-829 .elementor-element.elementor-element-96b5c9f img{height:245px;object-fit:cover;}.elementor-829 .elementor-element.elementor-element-e76a91d .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-829 .elementor-element.elementor-element-8852032{font-size:16px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-6710014{padding:50px 0px 50px 0px;}.elementor-829 .elementor-element.elementor-element-b4e8dca{text-align:center;}.elementor-829 .elementor-element.elementor-element-b4e8dca .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-70c7402 .elementor-divider-separator{width:32%;margin:0 auto;margin-center:0;}.elementor-829 .elementor-element.elementor-element-70c7402 .elementor-divider{text-align:center;}.elementor-829 .elementor-element.elementor-element-ff0136f{text-align:center;font-size:16px;line-height:1.9em;}.elementor-829 .elementor-element.elementor-element-d301ce2 > .elementor-container{max-width:1222px;}.elementor-829 .elementor-element.elementor-element-d301ce2{padding:50px 13px 50px 0px;}.elementor-829 .elementor-element.elementor-element-7543b2f{text-align:center;}.elementor-829 .elementor-element.elementor-element-7543b2f .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-8daa726 .elementor-divider-separator{width:32%;margin:0 auto;margin-center:0;}.elementor-829 .elementor-element.elementor-element-8daa726 .elementor-divider{text-align:center;}.elementor-829 .elementor-element.elementor-element-21f0bb0 > .elementor-container{max-width:1222px;}.elementor-829 .elementor-element.elementor-element-21f0bb0{padding:50px 0px 50px 0px;}.elementor-829 .elementor-element.elementor-element-0460f0d{text-align:center;}.elementor-829 .elementor-element.elementor-element-0460f0d .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-829 .elementor-element.elementor-element-30815a3{text-align:center;}.elementor-829 .elementor-element.elementor-element-30815a3 .elementor-heading-title{font-size:16px;line-height:1.5em;}.elementor-829 .elementor-element.elementor-element-23d17bdd{font-size:16px;line-height:1.3em;}.elementor-829 .elementor-element.elementor-element-2169a72 > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-829 .elementor-element.elementor-element-2169a72 .elementor-button{font-size:18px;line-height:1.3em;padding:10px 60px 10px 60px;}.elementor-829 .elementor-element.elementor-element-e1d4355 .elementor-button{font-size:18px;line-height:1.3em;}}@media(max-width:1024px) and (min-width:768px){.elementor-829 .elementor-element.elementor-element-4e2c1d3{width:100%;}.elementor-829 .elementor-element.elementor-element-4d845c0{width:100%;}.elementor-829 .elementor-element.elementor-element-5b68227{width:32%;}.elementor-829 .elementor-element.elementor-element-edbfea6{width:68%;}}/* Start custom CSS for image-gallery, class: .elementor-element-fef1f9e *//* 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 */