.elementor-754 .elementor-element.elementor-element-4be5945{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.5;--border-radius:-5px -5px -5px -5px;--margin-top:0px;--margin-bottom:-12px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:41px;--padding-left:56px;--padding-right:56px;}.elementor-754 .elementor-element.elementor-element-4be5945:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/Pura_Ulundanu_Bedugul-scaled.jpg");background-position:center center;background-size:cover;}.elementor-754 .elementor-element.elementor-element-4be5945::before, .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-4be5945 > .e-con-inner > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-4be5945 > .e-con-inner > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-754 .elementor-element.elementor-element-c0aee9b{--display:flex;--min-height:0px;--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-c0aee9b.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-d2f8107{--display:flex;--min-height:0px;--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;--margin-top:90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:2px;--padding-left:25px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-36ecbf4{--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;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-754 .elementor-element.elementor-element-22e3e49 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:500;line-height:1.08em;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-960130d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:55px;font-weight:500;line-height:1.08em;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-58842a1 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:37px;font-weight:500;line-height:1.08em;color:var( --e-global-color-62a787b );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon i{color:#FFFFFF;transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon svg{fill:#FFFFFF;transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-3a07e6c{--e-icon-list-icon-size:14px;--e-icon-list-icon-align:left;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0;--icon-vertical-align:center;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-4118d4f{--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:12px 12px;--row-gap:12px;--column-gap:12px;}.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-754 .elementor-element.elementor-element-27c7485 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-27c7485 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-754 .elementor-element.elementor-element-27c7485 .elementor-button{font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-5c0e7bf .elementor-button{background-color:#61CE7000;font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:700;}.elementor-754 .elementor-element.elementor-element-5c0e7bf .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-5c0e7bf .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-754 .elementor-element.elementor-element-4b96d6c{--display:flex;--position:fixed;--min-height:643px;--margin-top:10px;--margin-bottom:0px;--margin-left:71px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-754 .elementor-element.elementor-element-4b96d6c.e-con{--flex-grow:0;--flex-shrink:0;}body:not(.rtl) .elementor-754 .elementor-element.elementor-element-4b96d6c{left:0px;}body.rtl .elementor-754 .elementor-element.elementor-element-4b96d6c{right:0px;}.elementor-754 .elementor-element.elementor-element-ed889a1{--display:flex;--overlay-opacity:0.5;--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-ed889a1:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-ed889a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/Private-Mount-Batur-Sunset-Jeep-Tour-–-Black-Lava-Adventure.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-754 .elementor-element.elementor-element-ed889a1::before, .elementor-754 .elementor-element.elementor-element-ed889a1 > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-ed889a1 > .e-con-inner > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-ed889a1 > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-ed889a1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-ed889a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#A5616100;--background-overlay:'';}.elementor-754 .elementor-element.elementor-element-ed889a1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-41a90d1{--display:flex;border-style:none;--border-style:none;--margin-top:18px;--margin-bottom:0px;--margin-left:62px;--margin-right:168px;}.elementor-754 .elementor-element.elementor-element-41a90d1:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-41a90d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/Private-Mount-Batur-Sunrise-Jeep-Tirta-Empul-Ulu-Petanu-Waterfall.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-754 .elementor-element.elementor-element-499cc91{--display:flex;--margin-top:0px;--margin-bottom:88px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-499cc91:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-499cc91 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/photo-1554481923-a6918bd997bc-scaled-2.avif");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-754 .elementor-element.elementor-element-6b796ea{--display:flex;--margin-top:0px;--margin-bottom:68px;--margin-left:9px;--margin-right:40px;}.elementor-754 .elementor-element.elementor-element-6b796ea:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-6b796ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B2436AD;}.elementor-754 .elementor-element.elementor-element-6b796ea.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-b4d2ed9{--display:flex;}.elementor-754 .elementor-element.elementor-element-7f00394{text-align:start;}.elementor-754 .elementor-element.elementor-element-7f00394 .elementor-heading-title{font-family:"El Messiri", Sans-serif;font-size:1px;font-weight:600;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-6422ec4{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-6422ec4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-0d0a6a5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-70737c3{--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-754 .elementor-element.elementor-element-5a27bac{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-754 .elementor-element.elementor-element-42bfd81{--display:flex;}.elementor-754 .elementor-element.elementor-element-bc211db{--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-754 .elementor-element.elementor-element-1f2182d .elementor-heading-title{color:var( --e-global-color-62a787b );}.elementor-754 .elementor-element.elementor-element-a333d5c{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-754 .elementor-element.elementor-element-25ab04b{color:#1E1818;}.elementor-754 .elementor-element.elementor-element-c261822{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-e90d9cf .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:400;color:#000000;}.elementor-754 .elementor-element.elementor-element-2a9b6a1{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-dfec929{--display:flex;}.elementor-754 .elementor-element.elementor-element-661445e{--display:flex;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-754 .elementor-element.elementor-element-fa44dfe .elementor-icon-wrapper{text-align:center;}.elementor-754 .elementor-element.elementor-element-fa44dfe.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-fa44dfe.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-fa44dfe.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-fa44dfe.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-fa44dfe.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-847f6f8 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:22px;font-weight:500;color:var( --e-global-color-62a787b );}.elementor-754 .elementor-element.elementor-element-9a556dc{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-5f3a9df{--display:flex;}.elementor-754 .elementor-element.elementor-element-a2625e7 .elementor-icon-wrapper{text-align:center;}.elementor-754 .elementor-element.elementor-element-a2625e7.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-a2625e7.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-a2625e7.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-a2625e7.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-a2625e7.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-4c95c45 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:22px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-e27ae89{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-69ceb4c{--display:flex;}.elementor-754 .elementor-element.elementor-element-ee5c021 .elementor-icon-wrapper{text-align:center;}.elementor-754 .elementor-element.elementor-element-ee5c021.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-ee5c021.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-ee5c021.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-ee5c021.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-ee5c021.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-e60de06 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:22px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-0bc2280{font-family:"Roboto", Sans-serif;}.elementor-754 .elementor-element.elementor-element-db1a860{--display:flex;}.elementor-754 .elementor-element.elementor-element-d289f60 .elementor-icon-wrapper{text-align:center;}.elementor-754 .elementor-element.elementor-element-d289f60.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-d289f60.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-d289f60.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-d289f60.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-d289f60.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-fa3dd1a .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:22px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-4088f0a{--display:flex;}.elementor-754 .elementor-element.elementor-element-7ee08ec{--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;}.elementor-754 .elementor-element.elementor-element-021acc8{--display:flex;}.elementor-754 .elementor-element.elementor-element-a595e35 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-82f5b1f{--display:flex;}.elementor-754 .elementor-element.elementor-element-d829315{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-c6e3371{--display:flex;}.elementor-754 .elementor-element.elementor-element-632ac93{text-align:center;}.elementor-754 .elementor-element.elementor-element-632ac93 .elementor-heading-title{color:#000000;}.elementor-754 .elementor-element.elementor-element-5695e09 .elementor-button{background-color:#FFFFFF;font-family:"DM Serif Display", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-5695e09 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-425e7ca{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-425e7ca.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-b1ce7b8{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-bb6642e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-754 .elementor-element.elementor-element-d2299bf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-aeb8b88 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-bd6c8ae{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-ba5ea79{--display:flex;}.elementor-754 .elementor-element.elementor-element-d858f29{--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;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-754 .elementor-element.elementor-element-bc2eb83 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-754 .elementor-element.elementor-element-bc2eb83.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-bc2eb83.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-bc2eb83.elementor-view-default .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-bc2eb83 .elementor-icon-box-title, .elementor-754 .elementor-element.elementor-element-bc2eb83 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;}.elementor-754 .elementor-element.elementor-element-bc2eb83 .elementor-icon-box-title{color:var( --e-global-color-62a787b );}.elementor-754 .elementor-element.elementor-element-bc2eb83 .elementor-icon-box-description{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:400;}.elementor-754 .elementor-element.elementor-element-abafc70 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-754 .elementor-element.elementor-element-abafc70.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-abafc70.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-abafc70.elementor-view-default .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-abafc70 .elementor-icon-box-title, .elementor-754 .elementor-element.elementor-element-abafc70 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;}.elementor-754 .elementor-element.elementor-element-abafc70 .elementor-icon-box-description{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:400;}.elementor-754 .elementor-element.elementor-element-68c31bd .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-754 .elementor-element.elementor-element-68c31bd.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-68c31bd.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-68c31bd.elementor-view-default .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-68c31bd .elementor-icon-box-title, .elementor-754 .elementor-element.elementor-element-68c31bd .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;}.elementor-754 .elementor-element.elementor-element-68c31bd .elementor-icon-box-description{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:400;}.elementor-754 .elementor-element.elementor-element-c728d49 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-size:9px;font-weight:500;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#FFFFFF;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-c728d49 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-2adb09f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-2adb09f:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-2adb09f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #E5F5FF 0%, #F8FCFF 100%);}.elementor-754 .elementor-element.elementor-element-f015af5{--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;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;}.elementor-754 .elementor-element.elementor-element-0103c81{--display:flex;--min-height:298px;--border-radius:20px 0px 0px 20px;}.elementor-754 .elementor-element.elementor-element-0103c81:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-0103c81 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/swing.png");background-position:center center;background-size:cover;}.elementor-754 .elementor-element.elementor-element-0103c81.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-b01946b{--display:flex;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--border-radius:0px 20px 20px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-754 .elementor-element.elementor-element-b01946b:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-b01946b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-62a787b );}.elementor-754 .elementor-element.elementor-element-f03ad62{width:var( --container-widget-width, 103.14% );max-width:103.14%;--container-widget-width:103.14%;--container-widget-flex-grow:0;text-align:start;}.elementor-754 .elementor-element.elementor-element-f03ad62.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-f03ad62 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:30px;font-weight:500;text-shadow:0px 0px 35px rgba(0, 0, 0, 0.15);color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-abcc062{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;color:#FDFDFD;}.elementor-754 .elementor-element.elementor-element-8e6d271 .elementor-button{background-color:var( --e-global-color-62a787b );font-family:"Poppins", Sans-serif;font-weight:500;border-style:solid;border-radius:10px 10px 10px 10px;}.elementor-754 .elementor-element.elementor-element-8e6d271{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-754 .elementor-element.elementor-element-8e6d271 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-aa3fd33{--display:flex;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-754 .elementor-element.elementor-element-f6af1c9{--display:flex;}.elementor-widget-loop-grid .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-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-754 .elementor-element.elementor-element-cef6c7c{--grid-columns:3;}.elementor-754 .elementor-element.elementor-element-cef6c7c .elementor-loop-container{grid-auto-rows:1fr;}.elementor-754 .elementor-element.elementor-element-cef6c7c .e-loop-item > .elementor-section, .elementor-754 .elementor-element.elementor-element-cef6c7c .e-loop-item > .elementor-section > .elementor-container, .elementor-754 .elementor-element.elementor-element-cef6c7c .e-loop-item > .e-con, .elementor-754 .elementor-element.elementor-element-cef6c7c .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-754 .elementor-element.elementor-element-2bb42bc{--display:flex;}.elementor-754 .elementor-element.elementor-element-5ceca20{--grid-columns:3;}.elementor-754 .elementor-element.elementor-element-5ceca20 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-754 .elementor-element.elementor-element-5ceca20 .e-loop-item > .elementor-section, .elementor-754 .elementor-element.elementor-element-5ceca20 .e-loop-item > .elementor-section > .elementor-container, .elementor-754 .elementor-element.elementor-element-5ceca20 .e-loop-item > .e-con, .elementor-754 .elementor-element.elementor-element-5ceca20 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-754 .elementor-element.elementor-element-d420733{--grid-columns:3;--grid-row-gap:1px;--grid-column-gap:1px;}.elementor-754 .elementor-element.elementor-element-d420733 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-754 .elementor-element.elementor-element-d420733 .e-loop-item > .elementor-section, .elementor-754 .elementor-element.elementor-element-d420733 .e-loop-item > .elementor-section > .elementor-container, .elementor-754 .elementor-element.elementor-element-d420733 .e-loop-item > .e-con, .elementor-754 .elementor-element.elementor-element-d420733 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-754 .elementor-element.elementor-element-c462b53{--display:flex;}.elementor-754 .elementor-element.elementor-element-48954fb{--grid-columns:3;}.elementor-754 .elementor-element.elementor-element-48954fb .elementor-loop-container{grid-auto-rows:1fr;}.elementor-754 .elementor-element.elementor-element-48954fb .e-loop-item > .elementor-section, .elementor-754 .elementor-element.elementor-element-48954fb .e-loop-item > .elementor-section > .elementor-container, .elementor-754 .elementor-element.elementor-element-48954fb .e-loop-item > .e-con, .elementor-754 .elementor-element.elementor-element-48954fb .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-754 .elementor-element.elementor-element-1d3218c{--grid-columns:3;--grid-row-gap:1px;--grid-column-gap:1px;}.elementor-754 .elementor-element.elementor-element-1d3218c .elementor-loop-container{grid-auto-rows:1fr;}.elementor-754 .elementor-element.elementor-element-1d3218c .e-loop-item > .elementor-section, .elementor-754 .elementor-element.elementor-element-1d3218c .e-loop-item > .elementor-section > .elementor-container, .elementor-754 .elementor-element.elementor-element-1d3218c .e-loop-item > .e-con, .elementor-754 .elementor-element.elementor-element-1d3218c .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-754 .elementor-element.elementor-element-be0297e{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;}.elementor-754 .elementor-element.elementor-element-20f7bf8{--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;}.elementor-754 .elementor-element.elementor-element-368c144{--display:flex;}.elementor-754 .elementor-element.elementor-element-80c8f6d{text-align:start;}.elementor-754 .elementor-element.elementor-element-80c8f6d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-d739de6{--display:flex;--justify-content:center;}.elementor-754 .elementor-element.elementor-element-a47383e{text-align:start;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-bbc98ab{--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;}.elementor-754 .elementor-element.elementor-element-f8f090f{--display:flex;}.elementor-754 .elementor-element.elementor-element-8abf970{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-8abf970:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-8abf970 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-8abf970.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-8abf970.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-aaabea0 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-0a10377{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-0a10377:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-0a10377 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-9f1ca97 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-c2d37a2{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-1ba626c .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-4d650a9{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-b4b56e4{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-3701a40{text-align:center;}.elementor-754 .elementor-element.elementor-element-3701a40 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-281ec20{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-281ec20 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-1c6397a{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-35d5bce{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-2449b1c{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-43d192c .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-43d192c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-43d192c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-2110ecb{--display:flex;}.elementor-754 .elementor-element.elementor-element-f6e5140{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-f6e5140:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-f6e5140 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-f6e5140.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-f6e5140.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-d352add img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-d056a89{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-d056a89:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-d056a89 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-f1cae5d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-af4ac04{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-12dc9ae .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-af4158b{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-93007d5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-02c19c9{text-align:center;}.elementor-754 .elementor-element.elementor-element-02c19c9 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-c3b9b2d{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-c3b9b2d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-de65be2{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-6dc781e{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-a2494b1{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-3d44c19 .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-3d44c19{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-3d44c19 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-aed9227{--display:flex;}.elementor-754 .elementor-element.elementor-element-a4ce657{--display:flex;}.elementor-754 .elementor-element.elementor-element-7ea95be{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-7ea95be:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-7ea95be > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-7ea95be.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-7ea95be.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-23d24c3 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-b8dde9c{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-b8dde9c:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-b8dde9c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-a9c40e6 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-4fbb53e{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-710ce43 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-dba2a6a{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-7b82bcd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-6881d60{text-align:center;}.elementor-754 .elementor-element.elementor-element-6881d60 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-58d3caa{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-58d3caa .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-62bcfb5{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-ec9a98d{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-7cf1dfa{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-8f09656 .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-8f09656{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-8f09656 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-7d8c91f{--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;}.elementor-754 .elementor-element.elementor-element-ea7d23c{--display:flex;}.elementor-754 .elementor-element.elementor-element-64dd106{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-64dd106:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-64dd106 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-64dd106.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-64dd106.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-66a1ea2 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-bc48ed1{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-bc48ed1:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-bc48ed1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-28a39ba .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-fedcab0{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-62a95d1 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-fe349ac{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-d985514{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-7bd2438{text-align:center;}.elementor-754 .elementor-element.elementor-element-7bd2438 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-41c4ea2{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-41c4ea2 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-a25b531{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-5ec072a{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-a35e8b4{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-c7abc31 .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-c7abc31{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-c7abc31 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-8b6a9e4{--display:flex;}.elementor-754 .elementor-element.elementor-element-40872cf{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-40872cf:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-40872cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-40872cf.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-40872cf.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-14a2e07 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-4f0a9c2{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-4f0a9c2:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-4f0a9c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-7e32dd6 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-1cbc693{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-af0dc7d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-d013051{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-848a20f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-1ed57b9{text-align:center;}.elementor-754 .elementor-element.elementor-element-1ed57b9 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-199b820{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-199b820 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-3b76077{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-2848a0d{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-3e1a467{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-4a0a477 .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-4a0a477{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-4a0a477 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-482d810{--display:flex;}.elementor-754 .elementor-element.elementor-element-c2c2eea{--display:flex;}.elementor-754 .elementor-element.elementor-element-f5ace74{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:5px 1px 1px 1px;--border-top-width:5px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;box-shadow:0px 0px 51px 0px rgba(0, 0, 0, 0.13);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-f5ace74:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-f5ace74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-754 .elementor-element.elementor-element-f5ace74.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-754 .elementor-element.elementor-element-f5ace74.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-f819875 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-754 .elementor-element.elementor-element-6b96ebc{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-6b96ebc:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-6b96ebc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-754 .elementor-element.elementor-element-246e48d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-bc046a2{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-85f1438 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:19px;font-weight:500;line-height:28px;color:#000000;}.elementor-754 .elementor-element.elementor-element-29767f8{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-c617cb7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-754 .elementor-element.elementor-element-8a13875{text-align:center;}.elementor-754 .elementor-element.elementor-element-8a13875 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-fef9017{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-fef9017 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-754 .elementor-element.elementor-element-13ae4d2{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-754 .elementor-element.elementor-element-ff56cf6{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-text{transition:color 0.3s;}.elementor-754 .elementor-element.elementor-element-d505390{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-f6a5d9d .elementor-button{background-color:#4DC0FF;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-754 .elementor-element.elementor-element-f6a5d9d{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-f6a5d9d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-5446477{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-5446477:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-5446477 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-0f0aa21{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-754 .elementor-element.elementor-element-fc61001{text-align:center;}.elementor-754 .elementor-element.elementor-element-fc61001 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:400;color:#000000;}.elementor-754 .elementor-element.elementor-element-1765655{width:var( --container-widget-width, 102.636% );max-width:102.636%;--container-widget-width:102.636%;--container-widget-flex-grow:0;text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-754 .elementor-element.elementor-element-1765655.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-1765655 p{margin-block-end:0px;}.elementor-754 .elementor-element.elementor-element-a3f306c{--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;}.elementor-754 .elementor-element.elementor-element-dfffe4a{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-d7735e9 img{width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center center;}.elementor-754 .elementor-element.elementor-element-9e3ba83{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-754 .elementor-element.elementor-element-983b092{--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:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-dee887b{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-62a787b );--border-color:var( --e-global-color-62a787b );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-dee887b:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-dee887b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFAF0;}.elementor-754 .elementor-element.elementor-element-dee887b.e-con:hover{--e-con-transform-translateY:-4px;}.elementor-754 .elementor-element.elementor-element-f80c56b{margin:-28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-f80c56b .elementor-icon-wrapper{text-align:start;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-framed .elementor-icon{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-f80c56b.elementor-view-stacked .elementor-icon svg{fill:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-f80c56b .elementor-icon{font-size:20px;border-width:2px 2px 2px 2px;}.elementor-754 .elementor-element.elementor-element-f80c56b .elementor-icon svg{height:20px;}.elementor-754 .elementor-element.elementor-element-4b16351 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:23px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-5d3401a{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-c28ae05{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-62a787b );--border-color:var( --e-global-color-62a787b );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-c28ae05:hover{background-color:#FF000000;}.elementor-754 .elementor-element.elementor-element-c28ae05.e-con:hover{--e-con-transform-translateY:-4px;}.elementor-754 .elementor-element.elementor-element-149ce9b{margin:-28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-149ce9b .elementor-icon-wrapper{text-align:start;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-framed .elementor-icon{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-149ce9b.elementor-view-stacked .elementor-icon svg{fill:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-149ce9b .elementor-icon{font-size:20px;border-width:2px 2px 2px 2px;}.elementor-754 .elementor-element.elementor-element-149ce9b .elementor-icon svg{height:20px;}.elementor-754 .elementor-element.elementor-element-2da7e51 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:23px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-f595aaf{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Manrope", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-4695b29{--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:5px 5px;--row-gap:5px;--column-gap:5px;--background-transition:0.3s;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-4695b29:hover{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-daf19e0{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-62a787b );--border-color:var( --e-global-color-62a787b );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-daf19e0:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-daf19e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFAF0;}.elementor-754 .elementor-element.elementor-element-daf19e0.e-con:hover{--e-con-transform-translateY:-4px;}.elementor-754 .elementor-element.elementor-element-07d1370{margin:-28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-07d1370 .elementor-icon-wrapper{text-align:start;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-framed .elementor-icon{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-07d1370.elementor-view-stacked .elementor-icon svg{fill:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-07d1370 .elementor-icon{font-size:20px;border-width:2px 2px 2px 2px;}.elementor-754 .elementor-element.elementor-element-07d1370 .elementor-icon svg{height:20px;}.elementor-754 .elementor-element.elementor-element-f8dccc2 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:23px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-718ea2b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Manrope", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-8a31e80{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-62a787b );--border-color:var( --e-global-color-62a787b );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-8a31e80.e-con:hover{--e-con-transform-translateY:-4px;}.elementor-754 .elementor-element.elementor-element-aef474b{margin:-28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-aef474b .elementor-icon-wrapper{text-align:start;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-framed .elementor-icon{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-aef474b.elementor-view-stacked .elementor-icon svg{fill:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-aef474b .elementor-icon{font-size:20px;border-width:2px 2px 2px 2px;}.elementor-754 .elementor-element.elementor-element-aef474b .elementor-icon svg{height:20px;}.elementor-754 .elementor-element.elementor-element-233a515 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:23px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-4af825e{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Manrope", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-1389c88{--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:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-beb1692{--display:flex;--gap:6px 6px;--row-gap:6px;--column-gap:6px;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-62a787b );--border-color:var( --e-global-color-62a787b );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-754 .elementor-element.elementor-element-beb1692:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-beb1692 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFAF0;}.elementor-754 .elementor-element.elementor-element-beb1692.e-con:hover{--e-con-transform-translateY:-4px;}.elementor-754 .elementor-element.elementor-element-e42f0a5{margin:-28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-e42f0a5 .elementor-icon-wrapper{text-align:start;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-framed .elementor-icon, .elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-framed .elementor-icon{background-color:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-e42f0a5.elementor-view-stacked .elementor-icon svg{fill:#F7F1E7;}.elementor-754 .elementor-element.elementor-element-e42f0a5 .elementor-icon{font-size:20px;border-width:2px 2px 2px 2px;}.elementor-754 .elementor-element.elementor-element-e42f0a5 .elementor-icon svg{height:20px;}.elementor-754 .elementor-element.elementor-element-d3f2110 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:23px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-c6162a4{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-235b59d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-235b59d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-52e545b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-2474a47{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-754 .elementor-element.elementor-element-3322ef1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-3587eb2 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-af71b7b{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-0601b61{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-754 .elementor-element.elementor-element-7954a60{--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-754 .elementor-element.elementor-element-62d5976{text-align:center;}.elementor-754 .elementor-element.elementor-element-62d5976 img{width:100%;height:500px;object-fit:cover;object-position:center center;}.elementor-754 .elementor-element.elementor-element-e7dff56{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-754 .elementor-element.elementor-element-bdee795 img{width:100%;max-width:100%;height:280px;object-fit:cover;object-position:center center;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-754 .elementor-element.elementor-element-a20d3cd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-754 .elementor-element.elementor-element-a20d3cd .elementor-swiper-button{font-size:22px;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-a20d3cd .elementor-swiper-button svg{fill:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-d71f1f3 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-size:9px;font-weight:500;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#FFFFFF;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-d71f1f3 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-2d15c9e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-2d15c9e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-f2d9196{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-c6f1d95{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-754 .elementor-element.elementor-element-8ec8410{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-f054b03 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-00941bc{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-af85a61{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-754 .elementor-element.elementor-element-8e9377b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-d8f3b06{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-89545e9 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-13e47ba{--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-754 .elementor-element.elementor-element-d6dac4f{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-754 .elementor-element.elementor-element-9e43c27{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--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-754 .elementor-element.elementor-element-4c282cc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-754 .elementor-element.elementor-element-a429d90{--e-rating-justify-content:center;}.elementor-754 .elementor-element.elementor-element-ae645a4{--display:flex;}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-reviews .elementor-testimonial__text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-754 .elementor-element.elementor-element-4d1d846 .elementor-swiper-button{font-size:20px;}.elementor-754 .elementor-element.elementor-element-f74d44a{--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;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-754 .elementor-element.elementor-element-1b148be{--display:flex;--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-754 .elementor-element.elementor-element-fa8cfc3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-fa8cfc3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-754 .elementor-element.elementor-element-cea855b.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-cea855b{text-align:center;font-family:"Manrope", Sans-serif;font-size:13px;font-weight:600;line-height:1px;}.elementor-754 .elementor-element.elementor-element-428cb47{width:var( --container-widget-width, 76% );max-width:76%;--container-widget-width:76%;--container-widget-flex-grow:0;text-align:start;}.elementor-754 .elementor-element.elementor-element-428cb47.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-428cb47 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;text-shadow:0px 0px 35px rgba(0, 0, 0, 0.15);color:#000000;}.elementor-754 .elementor-element.elementor-element-99601f6{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;color:#000000;}.elementor-754 .elementor-element.elementor-element-3f4aded{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-3f4aded .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-754 .elementor-element.elementor-element-d673f66{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-754 .elementor-element.elementor-element-4ef598a{--display:flex;}.elementor-754 .elementor-element.elementor-element-127ec33{--display:flex;}.elementor-754 .elementor-element.elementor-element-6f5882b{--display:flex;}.elementor-754 .elementor-element.elementor-element-4d294dd{--n-accordion-title-font-size:9px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}:where( .elementor-754 .elementor-element.elementor-element-4d294dd > .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-family:"DM Serif Display", Sans-serif;}.elementor-754 .elementor-element.elementor-element-d13a0c5{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-754 .elementor-element.elementor-element-d13a0c5:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-d13a0c5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-754 .elementor-element.elementor-element-a9a154e{--display:flex;--min-height:480px;--justify-content:center;--overlay-opacity:0.51;--border-radius:230px 230px 35px 35px;}.elementor-754 .elementor-element.elementor-element-a9a154e:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-a9a154e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/pexels-g-n-403098-27785473.jpg");background-position:center center;background-size:cover;}.elementor-754 .elementor-element.elementor-element-a9a154e::before, .elementor-754 .elementor-element.elementor-element-a9a154e > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-a9a154e > .e-con-inner > .elementor-background-video-container::before, .elementor-754 .elementor-element.elementor-element-a9a154e > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-a9a154e > .e-con-inner > .elementor-background-slideshow::before, .elementor-754 .elementor-element.elementor-element-a9a154e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-754 .elementor-element.elementor-element-b03a727{text-align:center;}.elementor-754 .elementor-element.elementor-element-b03a727 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:700;line-height:1.08em;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-0937414{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-754 .elementor-element.elementor-element-0937414.elementor-element{--align-self:flex-start;}.elementor-754 .elementor-element.elementor-element-0937414 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:55px;font-weight:500;text-shadow:0px 0px 35px rgba(0, 0, 0, 0.15);color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-b5306fa{text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-c3fdbe5{--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;--justify-content:center;}.elementor-754 .elementor-element.elementor-element-e35ba2f .elementor-button{background-color:#74142A;font-family:"Manrope", Sans-serif;font-size:14px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-radius:6px 6px 6px 6px;}.elementor-754 .elementor-element.elementor-element-e35ba2f .elementor-button:hover, .elementor-754 .elementor-element.elementor-element-e35ba2f .elementor-button:focus{background-color:#FFFFFF;}.elementor-754 .elementor-element.elementor-element-e35ba2f{width:var( --container-widget-width, 24% );max-width:24%;--container-widget-width:24%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-e35ba2f.elementor-element{--align-self:center;}.elementor-754 .elementor-element.elementor-element-e35ba2f .elementor-button-content-wrapper{flex-direction:row-reverse;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-754 .elementor-element.elementor-element-4be5945{--width:100%;}.elementor-754 .elementor-element.elementor-element-c0aee9b{--width:100%;}.elementor-754 .elementor-element.elementor-element-d2f8107{--content-width:100%;}.elementor-754 .elementor-element.elementor-element-4b96d6c{--width:50%;}.elementor-754 .elementor-element.elementor-element-ed889a1{--width:100%;}.elementor-754 .elementor-element.elementor-element-6b796ea{--width:42%;}.elementor-754 .elementor-element.elementor-element-425e7ca{--width:95.299%;}.elementor-754 .elementor-element.elementor-element-0103c81{--width:41.161%;}.elementor-754 .elementor-element.elementor-element-b01946b{--width:60%;}.elementor-754 .elementor-element.elementor-element-8abf970{--width:97%;}.elementor-754 .elementor-element.elementor-element-2449b1c{--width:100%;}.elementor-754 .elementor-element.elementor-element-f6e5140{--width:97%;}.elementor-754 .elementor-element.elementor-element-a2494b1{--width:100%;}.elementor-754 .elementor-element.elementor-element-7ea95be{--width:97%;}.elementor-754 .elementor-element.elementor-element-7cf1dfa{--width:100%;}.elementor-754 .elementor-element.elementor-element-64dd106{--width:97%;}.elementor-754 .elementor-element.elementor-element-a35e8b4{--width:100%;}.elementor-754 .elementor-element.elementor-element-40872cf{--width:97%;}.elementor-754 .elementor-element.elementor-element-3e1a467{--width:100%;}.elementor-754 .elementor-element.elementor-element-f5ace74{--width:97%;}.elementor-754 .elementor-element.elementor-element-d505390{--width:100%;}.elementor-754 .elementor-element.elementor-element-a3f306c{--width:100%;}.elementor-754 .elementor-element.elementor-element-dfffe4a{--width:50%;}.elementor-754 .elementor-element.elementor-element-235b59d{--width:95.299%;}.elementor-754 .elementor-element.elementor-element-7954a60{--width:40%;}.elementor-754 .elementor-element.elementor-element-e7dff56{--width:60%;}.elementor-754 .elementor-element.elementor-element-2d15c9e{--width:95.299%;}.elementor-754 .elementor-element.elementor-element-1b148be{--width:49%;}.elementor-754 .elementor-element.elementor-element-fa8cfc3{--width:100.211%;}.elementor-754 .elementor-element.elementor-element-d673f66{--width:62%;}}@media(min-width:1025px){.elementor-754 .elementor-element.elementor-element-4be5945:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-754 .elementor-element.elementor-element-4be5945{--min-height:349px;--padding-top:82px;--padding-bottom:68px;--padding-left:30px;--padding-right:30px;}.elementor-754 .elementor-element.elementor-element-d2f8107{--padding-top:0px;--padding-bottom:0px;--padding-left:22px;--padding-right:22px;}.elementor-754 .elementor-element.elementor-element-22e3e49 .elementor-heading-title{font-size:18px;}.elementor-754 .elementor-element.elementor-element-960130d .elementor-heading-title{font-size:50px;}.elementor-754 .elementor-element.elementor-element-58842a1 .elementor-heading-title{font-size:50px;}.elementor-754 .elementor-element.elementor-element-27c7485 .elementor-button{font-size:13px;}.elementor-754 .elementor-element.elementor-element-5c0e7bf .elementor-button{font-size:13px;}.elementor-754 .elementor-element.elementor-element-4b96d6c{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-cef6c7c{--grid-columns:2;}.elementor-754 .elementor-element.elementor-element-5ceca20{--grid-columns:2;}.elementor-754 .elementor-element.elementor-element-d420733{--grid-columns:2;}.elementor-754 .elementor-element.elementor-element-48954fb{--grid-columns:2;}.elementor-754 .elementor-element.elementor-element-1d3218c{--grid-columns:2;}.elementor-754 .elementor-element.elementor-element-a20d3cd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-754 .elementor-element.elementor-element-b03a727 .elementor-heading-title{font-size:18px;}}@media(max-width:767px){.elementor-754 .elementor-element.elementor-element-4be5945:not(.elementor-motion-effects-element-type-background), .elementor-754 .elementor-element.elementor-element-4be5945 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kaklunabalitrans.com/wp-content/uploads/2026/09/Pura_Ulundanu_Bedugul-scaled.jpg");background-position:center center;}.elementor-754 .elementor-element.elementor-element-4be5945{--width:100%;--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:62px;--padding-bottom:58px;--padding-left:18px;--padding-right:18px;}.elementor-754 .elementor-element.elementor-element-c0aee9b{--width:100%;--min-height:0px;--justify-content:center;--padding-top:70px;--padding-bottom:36px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-d2f8107{--content-width:100%;--margin-top:-35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-754 .elementor-element.elementor-element-22e3e49 .elementor-heading-title{font-size:14px;}.elementor-754 .elementor-element.elementor-element-960130d .elementor-heading-title{font-size:42px;}.elementor-754 .elementor-element.elementor-element-58842a1 .elementor-heading-title{font-size:32px;}.elementor-754 .elementor-element.elementor-element-27c7485 .elementor-button{font-size:13px;}.elementor-754 .elementor-element.elementor-element-5c0e7bf .elementor-button{font-size:13px;}.elementor-754 .elementor-element.elementor-element-4b96d6c{--width:96%;--min-height:683px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-6422ec4{--width:421.94px;}.elementor-754 .elementor-element.elementor-element-42bfd81{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-754 .elementor-element.elementor-element-e90d9cf .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-aeb8b88 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-0103c81{--border-radius:20px 20px 0px 0px;}.elementor-754 .elementor-element.elementor-element-b01946b{--border-radius:0px 0px 20px 20px;}.elementor-754 .elementor-element.elementor-element-f03ad62{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-f03ad62 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-abcc062{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-754 .elementor-element.elementor-element-cef6c7c{--grid-columns:1;}.elementor-754 .elementor-element.elementor-element-5ceca20{--grid-columns:1;}.elementor-754 .elementor-element.elementor-element-d420733{--grid-columns:1;}.elementor-754 .elementor-element.elementor-element-48954fb{--grid-columns:1;}.elementor-754 .elementor-element.elementor-element-1d3218c{--grid-columns:1;}.elementor-754 .elementor-element.elementor-element-80c8f6d .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-a47383e{font-size:15px;}.elementor-754 .elementor-element.elementor-element-8abf970{--width:95%;}.elementor-754 .elementor-element.elementor-element-4d650a9{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-1c6397a{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-f6e5140{--width:95%;}.elementor-754 .elementor-element.elementor-element-af4158b{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-de65be2{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-7ea95be{--width:95%;}.elementor-754 .elementor-element.elementor-element-dba2a6a{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-62bcfb5{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-ea7d23c{--width:505px;}.elementor-754 .elementor-element.elementor-element-64dd106{--width:95%;}.elementor-754 .elementor-element.elementor-element-fe349ac{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-a25b531{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-40872cf{--width:95%;}.elementor-754 .elementor-element.elementor-element-d013051{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-3b76077{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-f5ace74{--width:95%;}.elementor-754 .elementor-element.elementor-element-29767f8{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-13ae4d2{--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;--justify-content:space-between;}.elementor-754 .elementor-element.elementor-element-fc61001 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-1765655{width:var( --container-widget-width, 380.525px );max-width:380.525px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:380.525px;--container-widget-flex-grow:0;text-align:center;}.elementor-754 .elementor-element.elementor-element-1765655 p{margin-block-end:0px;}.elementor-754 .elementor-element.elementor-element-a3f306c{--gap:13px 13px;--row-gap:13px;--column-gap:13px;}.elementor-754 .elementor-element.elementor-element-d7735e9 img{width:100%;height:240px;object-position:center center;}.elementor-754 .elementor-element.elementor-element-9e3ba83{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-754 .elementor-element.elementor-element-983b092{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-754 .elementor-element.elementor-element-4695b29{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-754 .elementor-element.elementor-element-daf19e0{--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-754 .elementor-element.elementor-element-3587eb2 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-62d5976{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-62d5976 img{max-width:100%;height:230px;}.elementor-754 .elementor-element.elementor-element-bdee795 img{height:225px;}.elementor-754 .elementor-element.elementor-element-a20d3cd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-754 .elementor-element.elementor-element-a20d3cd .elementor-main-swiper{height:360px;}.elementor-754 .elementor-element.elementor-element-f054b03 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-89545e9 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-428cb47{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-754 .elementor-element.elementor-element-428cb47 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-99601f6{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-754 .elementor-element.elementor-element-a9a154e{--min-height:310px;--overlay-opacity:0.13;}.elementor-754 .elementor-element.elementor-element-b03a727 .elementor-heading-title{font-size:14px;}.elementor-754 .elementor-element.elementor-element-0937414 .elementor-heading-title{font-size:40px;}.elementor-754 .elementor-element.elementor-element-c3fdbe5{--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;}.elementor-754 .elementor-element.elementor-element-e35ba2f{--container-widget-width:51%;--container-widget-flex-grow:0;width:var( --container-widget-width, 51% );max-width:51%;}}/* Start custom CSS for icon-list, class: .elementor-element-3a07e6c *//* ============================================================
PUTU BALI TOUR — ICON LIST
OCEAN AZURE V1.1 (senada dengan Hero V9 & Collage V10)

Native Elementor (widget Icon List)

DIPASANG DI:
Klik widget Icon List
Advanced > Custom CSS > paste semua ini
(".elementor-754 .elementor-element.elementor-element-3a07e6c" otomatis merujuk ke widget itu sendiri,
 jadi TIDAK perlu menambah CSS Class apa pun)

PALETTE (sama dengan Hero V9)
Sky Primary    #4DC0FF
Sky Light      #8BD8FF
Azure          #1E8FD6
Ocean          #0A5C8F
Navy           #063A5E
Navy Dark      #041E33
Ice            #EAF7FF
Mist           #CFEBFB

FONT
Body/UI  : "Poppins", sans-serif

KONSEP:
- Tiap poin jadi chip kaca biru (glass)
- Ikon dibungkus lingkaran gradien sky -> azure
- Desktop & tablet : chip mengalir mengikuti lebar kolom
- Mobile           : grid 2 kolom rapi, sama lebar
- Mobile kecil     : 1 kolom

v1.1 : CSS berdiri sendiri (standalone) — semua warna & font
       ditulis langsung di widget ini, tidak bergantung pada
       CSS hero / container lain.

CATATAN:
- Tidak memakai !important pada font, warna, ukuran & padding.
============================================================ */


/* ============================================================
01. DESIGN TOKEN  (v1.1 standalone)
============================================================ */

.elementor-754 .elementor-element.elementor-element-3a07e6c{
    --hil-sky:#4DC0FF;              /* v1.1 */
    --hil-sky-light:#8BD8FF;        /* v1.1 */
    --hil-azure:#1E8FD6;            /* v1.1 */
    --hil-ocean:#0A5C8F;            /* v1.1 */
    --hil-navy:#063A5E;             /* v1.1 */
    --hil-navy-dark:#041E33;        /* v1.1 */
    --hil-ice:#EAF7FF;              /* v1.1 */
    --hil-mist:#CFEBFB;             /* v1.1 */

    --hil-font-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;   /* v1.1 */

    --hil-ease:cubic-bezier(.22,.72,.2,1);   /* v1.1 */

    position:relative;
    z-index:4;                       /* tetap di atas layer dekorasi hero */
}


/* ============================================================
02. WRAPPER DAFTAR
============================================================ */

.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-items{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:10px;

    margin:0;
    padding:0;

    list-style:none;
}


/* ============================================================
03. TIAP ITEM — CHIP KACA BIRU
============================================================ */

.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    display:inline-flex;
    align-items:center;
    gap:10px;

    flex:0 0 auto;
    width:auto;

    margin:0;
    padding:7px 16px 7px 7px;

    border:1px solid rgba(207,235,251,.16);
    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(234,247,255,.085) 0%,
            rgba(139,216,255,.04) 48%,
            rgba(4,30,51,.30) 100%
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 10px 24px rgba(4,30,51,.18);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);

    transition:
        transform .34s var(--hil-ease),
        border-color .30s ease,
        background .30s ease,
        box-shadow .34s var(--hil-ease);
}


/* aksen tipis di sisi atas chip (senada .pt-mini-trust hero) */
.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item::before{
    content:"";

    position:absolute;

    top:0;
    left:18px;

    width:26px;
    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--hil-sky),
            rgba(77,192,255,.18)
        );

    pointer-events:none;

    transition:
        width .45s var(--hil-ease),
        box-shadow .30s ease;
}


/* Matikan garis divider bawaan Elementor (inline layout) */
.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item::after{
    display:none;
}


/* Link di dalam item ikut tata letak chip */
.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item > a{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:inherit;
    text-decoration:none;
}


/* ============================================================
04. IKON — LINGKARAN GRADIEN
============================================================ */

.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon{
    flex:0 0 28px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;

    margin:0;
    padding:0;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--hil-sky) 0%,
            var(--hil-azure) 100%
        );

    box-shadow:
        0 4px 12px rgba(77,192,255,.32),
        inset 0 1px 0 rgba(255,255,255,.30);

    transition:
        transform .34s var(--hil-ease),
        box-shadow .34s ease;
}


.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon i{
    color:#FFFFFF;
    font-size:12px;
    line-height:1;
}


.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon svg{
    width:12px;
    height:12px;

    fill:#FFFFFF;
}


/* ============================================================
05. TEKS
============================================================ */

.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-text{
    padding:0;

    font-family:var(--hil-font-body);
    font-size:14px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.005em;

    color:rgba(234,247,255,.92);

    white-space:nowrap;
}


/* ============================================================
06. HOVER (hanya perangkat dengan mouse)
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item:hover{
        transform:translateY(-3px);

        border-color:rgba(77,192,255,.45);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.16) 0%,
                rgba(139,216,255,.06) 44%,
                rgba(4,30,51,.32) 100%
            );

        box-shadow:
            0 16px 32px rgba(4,30,51,.28),
            inset 0 1px 0 rgba(255,255,255,.09);
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item:hover::before{
        width:calc(100% - 36px);

        box-shadow:
            0 2px 12px rgba(77,192,255,.34);
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item:hover .elementor-icon-list-icon{
        transform:scale(1.08);

        box-shadow:
            0 6px 18px rgba(77,192,255,.50),
            inset 0 1px 0 rgba(255,255,255,.35);
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item:hover .elementor-icon-list-text{
        color:#FFFFFF;
    }

}


/* Fokus keyboard tetap terlihat */
.elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item a:focus-visible{
    outline:2px solid var(--hil-sky);
    outline-offset:3px;
    border-radius:999px;
}


/* ============================================================
07. TABLET
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-items{
        gap:9px;
    }

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item{
        padding:6px 14px 6px 6px;
    }

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-text{
        font-size:13.5px;
    }

}


/* ============================================================
08. MOBILE — grid 2 kolom sama lebar
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-items{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item{
        display:flex;
        width:100%;
        min-width:0;

        gap:8px;
        padding:6px 10px 6px 6px;

        border-radius:14px;            /* pill dilunakkan agar rapi di grid */
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item::before{
        left:12px;
        width:20px;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item > a{
        gap:8px;
        min-width:0;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon{
        flex:0 0 24px;
        width:24px;
        height:24px;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon i{
        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon svg{
        width:10.5px;
        height:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-text{
        min-width:0;

        font-size:12.5px;
        line-height:1.3;

        white-space:normal;            /* teks panjang boleh turun baris */
        overflow-wrap:break-word;
    }

}


/* ============================================================
09. MOBILE KECIL — 1 kolom
============================================================ */

@media(max-width:380px){

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-items{
        grid-template-columns:1fr;
    }


    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-text{
        font-size:13px;
    }

}


/* ============================================================
10. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item,
    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-item::before,
    .elementor-754 .elementor-element.elementor-element-3a07e6c .elementor-icon-list-icon{
        transition:none !important;
        transform:none !important;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c0aee9b *//* ============================================================
PUTU BALI TOUR — RIGHT VISUAL / PHOTO COLLAGE ONLY
OCEAN AZURE V10 — "ARCH & ORBIT"
(v10 — bentuk foto dirombak: arch / circle / squircle diagonal)

DIPASANG DI:
Container kanan (.coastal-hero-collage__right)
Advanced > Custom CSS

CLASSES (tetap sama, tidak diubah)
.coastal-hero-collage__right
.coastal-hero-collage__photo-main    -> ARCH / DOME
.coastal-hero-collage__photo-top     -> LINGKARAN PENUH
.coastal-hero-collage__photo-bottom  -> SQUIRCLE MIRING + POTONG DIAGONAL
.coastal-hero-collage__glass
.coastal-hero-collage__glass-text

PERUBAHAN UTAMA v10
- blob kapsul + garis "L" lama DIHAPUS
- diganti: bingkai arch outline geser + orbit ring putus-putus
- posisi tiap foto disusun ulang (segitiga visual, tidak sejajar)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b{
  /* --- token biru (sama seperti v9) --- */
  --hero-navy:#063A5E;
  --hero-navy-dark:#041E33;
  --hero-ocean:#0A5C8F;
  --hero-ocean-dark:#074A73;
  --hero-azure:#1E8FD6;
  --hero-sky:#4DC0FF;
  --hero-sky-light:#8BD8FF;
  --hero-ice:#EAF7FF;
  --hero-mist:#CFEBFB;
  --hero-charcoal:#0F1B24;
  --hero-white:#FFFFFF;

  /* --- alias token lama --- */
  --hero-maroon:var(--hero-navy);
  --hero-maroon-dark:var(--hero-navy-dark);
  --hero-red:var(--hero-ocean);
  --hero-red-dark:var(--hero-ocean-dark);
  --hero-brick:var(--hero-azure);
  --hero-gold:var(--hero-sky);
  --hero-ivory:var(--hero-ice);
  --hero-blush:var(--hero-mist);

  --hero-photo-frame:#F4FBFF;

  /* v10 : radius bentuk arch dipakai berulang */
  --hero-arch:
    200px 200px 30px 30px;

  --hero-arch-inner:
    188px 188px 22px 22px;

  --hero-shadow-main:
    0 34px 74px rgba(4,30,51,.44);

  --hero-shadow-float:
    0 18px 40px rgba(4,30,51,.34);

  --hero-tr:
    .56s cubic-bezier(.2,.72,.2,1);

  --hero-font-display:"DM Serif Display",Georgia,serif;
  --hero-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;
}


/* ============================================================
01. RIGHT VISUAL WRAPPER
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right{
  position:relative;
  z-index:3!important;

  min-width:0;
  max-width:100%;
  box-sizing:border-box;

  min-height:620px; /* v10 */

  overflow:visible!important;
}


/* ------------------------------------------------------------
v10 : ORBIT RING — cincin putus-putus di belakang foto lingkaran
(menggantikan blob kapsul lama)
------------------------------------------------------------ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::before{
  content:"";

  position:absolute;

  top:9%;
  left:-2%;

  width:clamp(150px,23vw,212px);
  height:clamp(150px,23vw,212px);

  z-index:0;

  border-radius:50%;

  /* cincin putus-putus */
  border:1px dashed rgba(77,192,255,.42); /* v10 */

  background:
    radial-gradient(
      circle,
      rgba(77,192,255,.10) 0%,
      transparent 62%
    );

  box-shadow:
    0 0 40px rgba(77,192,255,.14);

  animation:
    ptOrbitSpin 46s linear infinite; /* v10 */

  pointer-events:none;
}


@keyframes ptOrbitSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}


/* ------------------------------------------------------------
v10 : ARCH OUTLINE — bingkai lengkung yang digeser di belakang
foto utama (efek double-exposure, menggantikan garis "L")
------------------------------------------------------------ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::after{
  content:"";

  position:absolute;

  top:2%;
  left:22%;

  width:50%;
  height:76%;

  z-index:1;

  border:2px solid rgba(77,192,255,.55); /* v10 */

  border-radius:var(--hero-arch); /* v10 */

  box-shadow:
    -8px 10px 34px -14px rgba(77,192,255,.45);

  pointer-events:none;
}


/* ============================================================
02. ALL PHOTO CONTAINERS
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main,
.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-top,
.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom{
  position:absolute;

  max-width:100%;
  box-sizing:border-box;

  overflow:hidden!important;

  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;

  transition:
    transform var(--hero-tr),
    box-shadow var(--hero-tr),
    border-radius var(--hero-tr); /* v10 */
}


/* ============================================================
03. MAIN PHOTO — ARCH / DOME  (v10)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main{
  top:6%;
  left:30%;

  width:52%;
  height:78%;

  right:auto;
  bottom:auto;

  z-index:2!important;

  border:
    8px solid var(--hero-photo-frame)!important;

  /* v10 : bentuk lengkung penuh di atas */
  border-radius:
    var(--hero-arch)!important;

  box-shadow:
    0 34px 74px rgba(4,30,51,.44),
    0 0 0 1px rgba(77,192,255,.18)!important;
}


/* garis dalam mengikuti bentuk arch */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::before{
  content:"";

  position:absolute;
  inset:11px;

  pointer-events:none;

  border:
    1px solid rgba(244,251,255,.50);

  border-radius:
    var(--hero-arch-inner); /* v10 */
}


/* v10 : keystone — titik kunci di puncak lengkungan */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::after{
  content:"";

  position:absolute;

  top:14px;
  left:50%;

  width:34px;
  height:34px;

  transform:
    translateX(-50%) rotate(45deg); /* v10 */

  border-radius:8px;

  background:
    linear-gradient(
      135deg,
      #4DC0FF,
      #1E8FD6
    );

  box-shadow:
    0 6px 18px rgba(77,192,255,.45),
    inset 0 1px 0 rgba(255,255,255,.35);

  transition:
    transform var(--hero-tr);
}


/* ============================================================
04. BOTTOM PHOTO — SQUIRCLE MIRING + POTONG DIAGONAL  (v10)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom{
  left:2%;
  bottom:6%;

  width:42%;
  height:31%;

  top:auto;
  right:auto;

  z-index:7!important;

  border:
    8px solid var(--hero-photo-frame)!important;

  /* v10 : satu sudut sengaja dibuat tajam-panjang */
  border-radius:
    28px 6px 54px 28px!important;

  box-shadow:
    0 18px 40px rgba(4,30,51,.34),
    0 0 0 5px rgba(77,192,255,.06)!important;

  outline:
    1px solid rgba(77,192,255,.28)!important;

  outline-offset:8px;

  transform:
    rotate(-2.4deg); /* v10 : miring lebih terasa */
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom::before{
  content:"";

  position:absolute;
  inset:8px;

  pointer-events:none;

  border:
    1px solid rgba(244,251,255,.48);

  border-radius:
    20px 4px 42px 20px; /* v10 */
}


/* v10 : strip aksen diagonal di sudut kanan atas */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom::after{
  content:"";

  position:absolute;

  top:-2px;
  right:-2px;

  width:46px;
  height:46px;

  background:
    linear-gradient(
      225deg,
      rgba(77,192,255,.92) 0%,
      rgba(77,192,255,.92) 34%,
      transparent 35%
    );

  pointer-events:none;
}


/* ============================================================
05. TOP PHOTO — LINGKARAN PENUH  (v10)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-top{
  top:13%;
  left:1%;

  right:auto;
  bottom:auto;

  /* v10 : ukuran kunci agar benar-benar bulat */
  width:clamp(126px,19vw,178px)!important;
  height:clamp(126px,19vw,178px)!important;

  z-index:8!important;

  border:
    7px solid var(--hero-photo-frame)!important;

  border-radius:50%!important; /* v10 */

  outline:
    1px solid rgba(77,192,255,.30);

  outline-offset:6px;

  box-shadow:
    0 20px 44px rgba(4,30,51,.36)!important;

  transform:
    rotate(0deg);
}


/* ============================================================
06. FLOATING LABEL — dipindah ke kanan bawah  (v10)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass{
  position:absolute;

  top:auto;
  left:auto;
  right:0%;
  bottom:6%; /* v10 */

  z-index:10!important;

  width:24%;
  max-width:178px;
  min-width:148px;

  display:block!important;

  padding:11px 13px;

  border:
    1px solid rgba(77,192,255,.32)!important;

  /* v10 : satu sudut tajam mengikuti bahasa bentuk baru */
  border-radius:
    16px 4px 16px 16px!important;

  background:
    linear-gradient(
      145deg,
      rgba(6,58,94,.88),
      rgba(4,30,51,.76)
    )!important;

  box-shadow:
    0 18px 38px rgba(4,30,51,.36),
    inset 0 1px 0 rgba(255,255,255,.07)!important;

  -webkit-backdrop-filter:blur(13px);
  backdrop-filter:blur(13px);

  transition:
    transform var(--hero-tr),
    box-shadow var(--hero-tr),
    border-color var(--hero-tr);
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass::before{
  content:"";

  position:absolute;

  top:0;
  left:14px;

  width:32px;
  height:2px;

  border-radius:0 0 999px 999px;

  background:
    linear-gradient(90deg,#4DC0FF,#1E8FD6);

  transition:width .42s ease;
}


/* v10 : garis penghubung sekarang menunjuk ke ATAS (ke foto arch) */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass::after{
  content:"";

  position:absolute;

  top:-24px;
  left:22px;

  width:1px;
  height:24px;

  transform:none; /* v10 */

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(77,192,255,.72)
    );

  opacity:.60;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass .elementor-heading-title{
  font-family:var(--hero-font-display)!important;

  font-weight:400!important;

  color:#FFFFFF!important;

  font-size:
    clamp(15px,1.05vw,18px)!important;

  line-height:1.14!important;

  margin:0;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text{
  width:100%;
  margin-top:5px;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text,
.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text p{
  font-family:var(--hero-font-body)!important;

  color:rgba(234,247,255,.76)!important;

  font-size:9.5px!important;

  line-height:1.42!important;

  margin:0;
}


/* max 2 lines */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text p{
  display:-webkit-box!important;

  -webkit-box-orient:vertical!important;

  -webkit-line-clamp:2!important;

  overflow:hidden!important;
}


/* ============================================================
07. HOVER  (v10 — bentuk ikut bereaksi)
============================================================ */

.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-main{
  transform:translateY(-4px);

  /* lengkungan sedikit melebar saat hover */
  border-radius:
    230px 230px 30px 30px!important; /* v10 */

  box-shadow:
    0 40px 82px rgba(4,30,51,.48),
    0 0 0 1px rgba(77,192,255,.30)!important;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-main::after{
  transform:
    translateX(-50%) rotate(135deg); /* v10 */
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-bottom{
  transform:
    rotate(0deg) translateY(4px);

  box-shadow:
    0 24px 46px rgba(4,30,51,.38),
    0 0 0 5px rgba(77,192,255,.08)!important;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-top{
  transform:
    translateY(-6px) scale(1.03); /* v10 */

  box-shadow:
    0 26px 50px rgba(4,30,51,.40)!important;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass:hover{
  transform:translateY(-4px);

  border-color:rgba(77,192,255,.58)!important;

  box-shadow:
    0 22px 44px rgba(4,30,51,.40),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}


.elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass:hover::before{
  width:58px;
}


/* ============================================================
08. TABLET
============================================================ */

@media(min-width:768px) and (max-width:1024px){

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right{
    min-height:580px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::after{
    top:3%;
    left:20%;
    width:54%;
    height:72%;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main{
    top:7%;
    left:28%;

    width:56%;
    height:72%;

    border-width:7px!important;

    border-radius:
      170px 170px 26px 26px!important; /* v10 */
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::before{
    inset:9px;
    border-radius:160px 160px 19px 19px;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-top{
    top:12%;
    left:0%;

    border-width:6px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom{
    left:0%;
    bottom:7%;

    width:45%;
    height:28%;

    border-width:7px!important;

    outline-offset:6px;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass{
    right:0%;
    bottom:5%;

    width:24%;
    max-width:164px;
    min-width:140px;

    padding:9px 11px;
  }

}


/* ============================================================
09. MOBILE
============================================================ */

@media(max-width:767px){

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right{
    min-height:500px!important;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::before{
    top:6%;
    left:-4%;

    width:clamp(112px,32vw,150px);
    height:clamp(112px,32vw,150px);
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::after{
    top:4%;
    left:20%;

    width:58%;
    height:70%;

    border-radius:
      140px 140px 24px 24px; /* v10 */
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main{
    top:8%!important;
    left:26%!important;

    width:62%!important;
    height:66%!important;

    border-width:5px!important;

    border-radius:
      150px 150px 24px 24px!important; /* v10 */
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::before{
    inset:8px;

    border-radius:
      142px 142px 17px 17px;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::after{
    top:10px;

    width:26px;
    height:26px;

    border-radius:6px;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-top{
    top:9%!important;
    left:0%!important;

    width:clamp(96px,27vw,124px)!important;
    height:clamp(96px,27vw,124px)!important;

    border-width:5px!important;

    outline-offset:4px;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom{
    left:0%!important;
    bottom:6%!important;

    width:48%!important;
    height:27%!important;

    border-width:5px!important;

    border-radius:
      22px 5px 42px 22px!important; /* v10 */

    outline-offset:4px;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom::after{
    width:34px;
    height:34px;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass{
    right:0%;
    bottom:3%;

    width:36%;
    max-width:136px;
    min-width:0;

    padding:8px 9px;

    border-radius:
      13px 4px 13px 13px!important;

    background:
      linear-gradient(
        145deg,
        rgba(6,58,94,.92),
        rgba(4,30,51,.84)
      )!important;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass::after{
    display:none;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass .elementor-heading-title{
    font-size:14px!important;
    line-height:1.12!important;
  }


  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text,
  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass-text p{
    font-size:8.8px!important;
    line-height:1.38!important;
  }

}


/* ============================================================
09b. SMALL MOBILE / iPHONE SE  (v10)
============================================================ */

@media(max-width:400px){

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right{
    min-height:430px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::before{
    opacity:.7;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main{
    top:9%!important;
    left:30%!important;

    width:64%!important;
    height:62%!important;

    border-width:4px!important;

    border-radius:
      120px 120px 20px 20px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-main::before{
    inset:6px;
    border-radius:114px 114px 14px 14px;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-top{
    width:clamp(82px,26vw,104px)!important;
    height:clamp(82px,26vw,104px)!important;

    border-width:4px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__photo-bottom{
    width:52%!important;
    height:25%!important;

    border-width:4px!important;
  }

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__glass{
    width:42%;
    padding:7px 8px;
  }

}


/* ============================================================
10. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right *,
  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right *::before,
  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right *::after,
  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::before,
  .elementor-754 .elementor-element.elementor-element-c0aee9b .coastal-hero-collage__right::after{
    animation:none!important;
    transition:none!important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4be5945 *//* ============================================================
PUTU BALI TOUR — OCEAN AZURE
PREMIUM CINEMATIC HERO V9  (v9 — full biru, high-end)

Native Elementor
No HTML Widget

DIPASANG DI:
Section / Container terluar hero
Advanced > Custom CSS

PALETTE BARU (v9)
Sky Primary    #4DC0FF
Sky Light      #8BD8FF
Azure          #1E8FD6
Ocean          #0A5C8F
Navy           #063A5E
Navy Dark      #041E33
Ice            #EAF7FF
Mist           #CFEBFB
Charcoal       #0F1B24
Pure White     #FFFFFF

FONT
Display  : "DM Serif Display", serif
Body/UI  : "Poppins", sans-serif
============================================================ */


/* ============================================================
01. DESIGN SYSTEM
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945{

    /* --- v9 : token biru --- */
    --pt-navy:#063A5E;
    --pt-navy-dark:#041E33;

    --pt-ocean:#0A5C8F;
    --pt-ocean-dark:#074A73;

    --pt-azure:#1E8FD6;

    --pt-sky:#4DC0FF;
    --pt-sky-light:#8BD8FF;

    --pt-ice:#EAF7FF;
    --pt-mist:#CFEBFB;

    --pt-charcoal:#0F1B24;
    --pt-white:#FFFFFF;


    /* --- v9 : alias token lama supaya class/CSS lama tetap hidup --- */
    --pt-maroon:var(--pt-navy);
    --pt-maroon-dark:var(--pt-navy-dark);
    --pt-red:var(--pt-ocean);
    --pt-red-dark:var(--pt-ocean-dark);
    --pt-brick:var(--pt-azure);
    --pt-gold:var(--pt-sky);
    --pt-gold-light:var(--pt-sky-light);
    --pt-ivory:var(--pt-ice);
    --pt-blush:var(--pt-mist);


    /* --- font stack (v9) --- */
    --pt-font-display:"DM Serif Display",Georgia,serif;
    --pt-font-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;


    /* --- garis & kaca --- */
    --pt-line:
        rgba(77,192,255,.26);

    --pt-line-soft:
        rgba(207,235,251,.14);

    --pt-glass:
        rgba(255,255,255,.075);


    /* --- shadow (v9 : biru, bukan coklat) --- */
    --pt-shadow:
        0 22px 54px
        rgba(4,30,51,.28);

    --pt-shadow-strong:
        0 30px 72px
        rgba(4,30,51,.40);

    --pt-glow-sky:
        0 0 26px
        rgba(77,192,255,.28);


    --pt-ease:
        cubic-bezier(.22,.72,.2,1);

    --pt-ease-out:
        cubic-bezier(.16,1,.3,1);


    position:relative;

    color:
        var(--pt-charcoal);

    font-family:
        var(--pt-font-body);

}


/* ============================================================
02. GLOBAL SAFETY
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 *,
.elementor-754 .elementor-element.elementor-element-4be5945 *::before,
.elementor-754 .elementor-element.elementor-element-4be5945 *::after{

    box-sizing:
        border-box;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-shell{

    width:
        100%;

    max-width:
        1240px;

    margin-inline:
        auto;

}


/* v9 : fokus keyboard tetap terlihat (aksesibilitas) */
.elementor-754 .elementor-element.elementor-element-4be5945 a:focus-visible,
.elementor-754 .elementor-element.elementor-element-4be5945 button:focus-visible,
.elementor-754 .elementor-element.elementor-element-4be5945 .elementor-button:focus-visible{

    outline:
        2px solid
        var(--pt-sky);

    outline-offset:
        3px;

    border-radius:
        10px;

}


/* ============================================================
03. SECTION SYSTEM
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-section{

    position:
        relative;

    isolation:
        isolate;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-section-label{

    font-family:
        var(--pt-font-body);

    letter-spacing:
        .18em;

    text-transform:
        uppercase;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-section-title{

    position:
        relative;

    font-family:
        var(--pt-font-display);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-section-title::after{

    content:"";

    display:block;

    width:
        52px;

    height:
        2px;

    margin-top:
        11px;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,

            var(--pt-sky) 0%,
            rgba(77,192,255,.42) 56%,
            transparent 100%
        );

    box-shadow:
        0 2px 8px
        rgba(77,192,255,.22);

    transition:
        width .48s
        var(--pt-ease);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-section:hover
.pt-section-title::after{

    width:
        86px;

}


/* ============================================================
04. TEXT LINK
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-text-link
.elementor-button{

    padding:
        0 !important;

    background:
        transparent !important;

    color:
        var(--pt-sky) !important;

    box-shadow:
        none !important;

    border:
        0 !important;

    font-family:
        var(--pt-font-body) !important;

    transition:
        color .30s ease,
        transform .34s var(--pt-ease);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-text-link
.elementor-button:hover{

    color:
        var(--pt-sky-light) !important;

    transform:
        translateX(4px);

}


/* ============================================================
05. GLOBAL BUTTON MOTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .elementor-button{

    position:
        relative;

    font-family:
        var(--pt-font-body) !important;

    font-weight:
        600 !important;

    letter-spacing:
        .012em;

    transition:

        transform .36s var(--pt-ease),

        box-shadow .36s var(--pt-ease),

        background .32s ease,

        border-color .32s ease,

        color .32s ease;

}


/* ============================================================
06. HERO WRAPPER — NO PHOTO BACKGROUND
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{

    position:
        relative;

    isolation:
        isolate;
    
    

    overflow:
        hidden;

    min-height:
        650px;


    /* v9 : gradasi laut dalam → biru langit */
    background:

        radial-gradient(
            circle at 80% 18%,
            rgba(77,192,255,.20) 0%,
            rgba(77,192,255,.06) 26%,
            transparent 52%
        ),

        radial-gradient(
            circle at 12% 82%,
            rgba(139,216,255,.13) 0%,
            rgba(30,143,214,.07) 30%,
            transparent 58%
        ),

        linear-gradient(
            118deg,

            #041E33 0%,

            #063A5E 38%,

            #0A5C8F 70%,

            #1E8FD6 100%
        );


    border-top:
        1px solid
        rgba(77,192,255,.14);

    border-bottom:
        1px solid
        rgba(255,255,255,.05);

}


/* ============================================================
07. HERO DECORATIVE LAYER — CSS ONLY
Background image tetap dihapus. Hanya efek cahaya CSS.
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::before{

    content:"";

    position:
        absolute;

    inset:
        0;

    z-index:
        -3;


    background:

        /* sapuan cahaya diagonal */
        linear-gradient(
            115deg,
            rgba(255,255,255,.035) 0%,
            transparent 31%,
            rgba(77,192,255,.07) 68%,
            transparent 100%
        ),

        /* v9 : garis vertikal tipis ala arsitektur */
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 86px,
            rgba(255,255,255,.016) 87px,
            transparent 88px
        ),

        /* v9 : grid horizontal super halus */
        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 120px,
            rgba(77,192,255,.030) 121px,
            transparent 122px
        );


    opacity:
        .92;


    pointer-events:
        none;


    transition:
        opacity .7s ease;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero:hover::before{

    opacity:
        1;

}


/* ============================================================
07b. AURORA LAYER — v9 (efek cahaya bergerak pelan)
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell::after{

    content:"";

    position:
        absolute;

    inset:
        -18%;

    z-index:
        -2;

    pointer-events:
        none;


    background:

        radial-gradient(
            42% 38% at 22% 28%,
            rgba(77,192,255,.20) 0%,
            transparent 68%
        ),

        radial-gradient(
            38% 34% at 74% 62%,
            rgba(139,216,255,.14) 0%,
            transparent 70%
        ),

        radial-gradient(
            30% 28% at 52% 12%,
            rgba(30,143,214,.16) 0%,
            transparent 72%
        );


    filter:
        blur(34px);


    opacity:
        .85;


    animation:
        ptAurora
        18s ease-in-out
        infinite alternate;

}


@keyframes ptAurora{

    0%{
        transform:
            translate3d(0,0,0)
            scale(1);
    }

    50%{
        transform:
            translate3d(2.5%,-2%,0)
            scale(1.06);
    }

    100%{
        transform:
            translate3d(-2.5%,2.5%,0)
            scale(1.03);
    }

}


/* ============================================================
08. HERO LOWER CINEMATIC FADE
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::after{

    content:"";

    position:
        absolute;

    left:
        0;

    right:
        0;

    bottom:
        0;


    height:
        185px;


    z-index:
        -1;


    background:

        linear-gradient(
            180deg,

            transparent 0%,

            rgba(4,30,51,.16) 34%,

            rgba(4,30,51,.42) 100%
        );

}


/* ============================================================
09. SUBTLE LIGHT ATMOSPHERE — CSS ONLY
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell{

    position:
        relative;

}


/* soft luxury glow */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell::before{

    content:"";

    position:
        absolute;


    right:
        -90px;

    top:
        -120px;


    width:
        420px;

    height:
        420px;


    border-radius:
        50%;


    background:

        radial-gradient(
            circle,

            rgba(77,192,255,.20) 0%,

            rgba(77,192,255,.06) 42%,

            transparent 70%
        );


    filter:
        blur(8px);


    pointer-events:
        none;


    animation:
        ptHeroGoldGlow
        9s ease-in-out
        infinite alternate;

}


@keyframes ptHeroGoldGlow{

    0%{

        opacity:
            .55;

        transform:
            translate3d(0,0,0)
            scale(.96);

    }


    100%{

        opacity:
            .90;

        transform:
            translate3d(-18px,16px,0)
            scale(1.05);

    }

}


/* ============================================================
10. HERO COPY
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy{

    position:
        relative;

    z-index:
        4;

}


/* decorative luxury rail */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::before{

    content:"";

    position:
        absolute;


    left:
        -22px;

    top:
        4px;


    width:
        3px;

    height:
        126px;


    border-radius:
        999px;


    /* v9 : rail biru */
    background:

        linear-gradient(
            180deg,

            #4DC0FF 0%,

            #4DC0FF 42%,

            #1E8FD6 72%,

            rgba(30,143,214,.12) 100%
        );


    box-shadow:

        0 0 17px
        rgba(77,192,255,.34),

        0 0 34px
        rgba(77,192,255,.14);


    pointer-events:
        none;

}


/* secondary tiny accent — sengaja dimatikan */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::after{
    content:none !important;
    display:none !important;
}


/* ============================================================
11. EYEBROW
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-eyebrow{

    width:
        max-content;

    max-width:
        100%;


    padding:
        7px 14px;


    border:
        1px solid
        rgba(77,192,255,.30);


    border-radius:
        999px;


    background:
        linear-gradient(
            135deg,
            rgba(4,30,51,.55),
            rgba(10,92,143,.28)
        );


    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.08),

        0 8px 20px
        rgba(4,30,51,.20);


    -webkit-backdrop-filter:
        blur(9px);

    backdrop-filter:
        blur(9px);


    /* v9 : titik status berkedip di kiri teks */
    position:
        relative;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-eyebrow
.elementor-heading-title{

    font-family:
        var(--pt-font-body) !important;

    font-weight:
        600 !important;

    color:
        var(--pt-sky) !important;


    letter-spacing:
        .20em;


    text-transform:
        uppercase;


    text-shadow:
        0 0 18px
        rgba(77,192,255,.30);

}


/* ============================================================
12. HERO TITLE
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title
.elementor-heading-title{

    /* COLOR FROM ELEMENTOR:
       Elementor > Style > Text Color */

    font-family:
        var(--pt-font-display) !important;

    font-weight:
        400 !important;

    line-height:
        1.06 !important;

    letter-spacing:
        -.005em;


    text-shadow:

        0 4px 22px
        rgba(0,0,0,.30),

        0 14px 42px
        rgba(4,30,51,.26);

}


/* ============================================================
13. HERO ACCENT TITLE
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent{

    position:
        relative;

    width:
        max-content;

    max-width:
        100%;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent
.elementor-heading-title{

    /* COLOR FROM ELEMENTOR:
       Elementor > Style > Text Color */

    font-family:
        var(--pt-font-display) !important;

    font-weight:
        400 !important;

    line-height:
        1.06 !important;


    text-shadow:

        0 4px 20px
        rgba(4,30,51,.30),

        0 10px 34px
        rgba(77,192,255,.16);

}


/* accent underline */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent::after{

    content:"";

    display:block;


    width:
        88px;

    height:
        2px;


    margin-top:
        10px;


    border-radius:
        999px;


    background:

        linear-gradient(
            90deg,

            var(--pt-sky),

            rgba(77,192,255,.38),

            transparent
        );


    box-shadow:

        0 3px 14px
        rgba(77,192,255,.28);


    transition:
        width .52s var(--pt-ease);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero:hover
.pt-hero-title-accent::after{

    width:
        138px;

}


/* ============================================================
14. HERO DESCRIPTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-text{

    max-width:
        650px;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-text p{

    font-family:
        var(--pt-font-body) !important;

    font-weight:
        300 !important;

    color:
        rgba(234,247,255,.86) !important;

    line-height:
        1.78 !important;


    text-shadow:

        0 2px 12px
        rgba(4,30,51,.22);

}


/* ============================================================
15. PRIMARY CTA
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn
.elementor-button{

    position:
        relative;

    overflow:
        hidden;


    border:
        1px solid
        rgba(255,255,255,.18);


    border-radius:
        12px;


    /* v9 : gradasi biru */
    background:
        linear-gradient(
            135deg,
            #4DC0FF 0%,
            #1E8FD6 58%,
            #0A5C8F 100%
        );


    color:
        #FFFFFF;


    box-shadow:

        0 13px 32px
        rgba(30,143,214,.38),

        inset 0 1px 0
        rgba(255,255,255,.30);


    transition:
        transform .36s var(--pt-ease),
        background .32s ease,
        border-color .32s ease,
        box-shadow .36s var(--pt-ease);

}


/* shine */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn
.elementor-button::before{

    content:"";

    position:
        absolute;


    top:
        -28%;

    left:
        -90%;


    width:
        48%;

    height:
        156%;


    transform:
        skewX(-24deg);


    background:

        linear-gradient(
            90deg,

            transparent 0%,

            rgba(255,255,255,.14) 22%,

            rgba(255,255,255,.70) 50%,

            rgba(255,255,255,.14) 78%,

            transparent 100%
        );


    transition:

        left .78s ease;

}


/* bottom light */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn
.elementor-button::after{

    content:"";

    position:
        absolute;


    left:
        20%;

    right:
        20%;

    bottom:
        0;


    height:
        1px;


    background:

        linear-gradient(
            90deg,

            transparent,

            rgba(255,255,255,.70),

            transparent
        );


    opacity:
        .60;

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn
.elementor-button:hover{

    transform:
        translateY(-3px);


    background:
        linear-gradient(
            135deg,
            #8BD8FF 0%,
            #4DC0FF 55%,
            #1E8FD6 100%
        );


    border-color:
        rgba(255,255,255,.34);


    box-shadow:

        0 19px 44px
        rgba(77,192,255,.46),

        inset 0 1px 0
        rgba(255,255,255,.40);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn
.elementor-button:hover::before{

    left:
        138%;

}


/* ============================================================
16. SECONDARY CTA
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-secondary
.elementor-button{

    overflow:
        hidden;


    border:
        1px solid
        rgba(77,192,255,.38);


    border-radius:
        12px;


    background:
        rgba(6,58,94,.55);


    color:
        var(--pt-ice);


    box-shadow:

        inset 0 1px 0
        rgba(255,255,255,.08),

        0 10px 26px
        rgba(4,30,51,.22);


    -webkit-backdrop-filter:
        blur(10px);

    backdrop-filter:
        blur(10px);

}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-secondary
.elementor-button:hover{

    transform:
        translateY(-3px);


    border-color:
        rgba(77,192,255,.72);


    background:
        rgba(10,92,143,.72);


    color:
        #FFFFFF;


    box-shadow:

        0 16px 34px
        rgba(4,30,51,.30),

        0 0 0 4px
        rgba(77,192,255,.10);

}


/* ============================================================
17. TRUST AREA — STABLE PREMIUM GRID V9
Fungsi asli dipertahankan:
- override width bawaan Elementor
- semua card benar-benar sama lebar
- tidak ada card yang menyempit
- tinggi card compact dan konsisten
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust{
    --width:100% !important;

    position:relative;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin-top:12px;
    padding-top:20px;

    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;

    align-items:stretch !important;

    border-top:1px solid rgba(77,192,255,.22); /* v9 */

    isolation:isolate;
}


/* refined divider */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust::before{
    content:"";

    position:absolute;

    top:-1px;
    left:0;

    width:86px;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--pt-sky) 0%,
            rgba(77,192,255,.34) 58%,
            transparent 100%
        );

    box-shadow:
        0 2px 12px
        rgba(77,192,255,.22);
}


/* ============================================================
18. TRUST ITEMS — COMPACT LUXURY CARD V9
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust{
    --width:100% !important;

    position:relative;
    isolation:isolate;
    overflow:hidden;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    min-height:72px !important;
    height:auto !important;

    margin:0 !important;
    padding:14px 16px !important;

    display:grid !important;

    grid-template-columns:
        26px
        minmax(0,1fr)
        !important;

    column-gap:11px !important;

    align-items:center !important;
    align-content:center !important;

    justify-items:start !important;

    border:
        1px solid
        rgba(207,235,251,.13); /* v9 */

    border-radius:14px;

    /* v9 : kaca biru */
    background:
        linear-gradient(
            135deg,
            rgba(234,247,255,.075) 0%,
            rgba(139,216,255,.035) 48%,
            rgba(4,30,51,.26) 100%
        );

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.055),
        0 10px 26px
        rgba(4,30,51,.16);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);

    transform:translateY(0);

    transition:
        transform .36s var(--pt-ease),
        border-color .30s ease,
        background .30s ease,
        box-shadow .36s var(--pt-ease);
}


/* subtle light */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:-1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.05) 0%,
            transparent 46%,
            rgba(77,192,255,.03) 100%
        );
}


/* tiny top accent */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust::after{
    content:"";

    position:absolute;

    top:0;
    left:16px;

    width:38px;
    height:2px;

    border-radius:
        0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--pt-sky),
            rgba(77,192,255,.18)
        );

    transition:
        width .45s var(--pt-ease),
        box-shadow .30s ease;
}


/* ============================================================
RESET ELEMENTOR CHILD WIDTHS
Bagian penting agar text tidak vertikal / menyempit.
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-element{
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
}


/* icon widget */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-widget-icon{
    --width:26px !important;

    width:26px !important;
    min-width:26px !important;
    max-width:26px !important;

    grid-column:1;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}


/* heading widget */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-widget-heading{
    --width:auto !important;

    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;

    grid-column:2;

    display:block !important;
}


/* ============================================================
ICON
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust .elementor-icon-wrapper{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
}


.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust .elementor-icon{
    width:26px;
    height:26px;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    color:var(--pt-sky) !important; /* v9 */

    filter:
        drop-shadow(
            0 4px 10px
            rgba(77,192,255,.30)
        );

    transition:
        transform .34s var(--pt-ease),
        filter .34s ease;
}


/* ============================================================
TEXT
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust .elementor-heading-title{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;

    margin:0 !important;

    font-family:
        var(--pt-font-body) !important; /* v9 */

    font-weight:500 !important;

    color:
        rgba(234,247,255,.95)
        !important;

    line-height:1.35 !important;

    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;

    writing-mode:
        horizontal-tb
        !important;

    text-orientation:
        mixed
        !important;
}


/* ============================================================
HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust:hover{
        transform:
            translateY(-4px);

        border-color:
            rgba(77,192,255,.40);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.14) 0%,
                rgba(139,216,255,.06) 42%,
                rgba(4,30,51,.30) 100%
            );

        box-shadow:
            0 17px 38px
            rgba(4,30,51,.26),
            inset 0 1px 0
            rgba(255,255,255,.08);
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust:hover::after{
        width:
            calc(100% - 32px);

        box-shadow:
            0 2px 14px
            rgba(77,192,255,.34);
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust:hover
    .elementor-icon{
        transform:
            scale(1.08);

        filter:
            drop-shadow(
                0 6px 15px
                rgba(77,192,255,.45)
            );
    }

}


/* ============================================================
TRUST — TABLET
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust{
        grid-template-columns:
            repeat(2,minmax(0,1fr))
            !important;

        gap:13px !important;

        padding-top:17px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust{
        min-height:68px !important;

        padding:
            13px 15px
            !important;

        grid-template-columns:
            25px minmax(0,1fr)
            !important;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-widget-icon{
        --width:25px !important;

        width:25px !important;
        min-width:25px !important;
        max-width:25px !important;
    }

}


/* ============================================================
TRUST — MOBILE
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust{
        grid-template-columns:
            repeat(2,minmax(0,1fr))
            !important;

        gap:10px !important;

        margin-top:6px;

        padding-top:15px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust{
        min-height:62px !important;

        padding:
            11px 12px
            !important;

        grid-template-columns:
            22px minmax(0,1fr)
            !important;

        column-gap:
            9px !important;

        border-radius:
            12px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-widget-icon{
        --width:22px !important;

        width:22px !important;
        min-width:22px !important;
        max-width:22px !important;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust .elementor-icon{
        width:22px;
        height:22px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust::after{
        left:12px;

        width:28px;
    }

}


/* ============================================================
TRUST — SMALL MOBILE
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust{
        grid-template-columns:
            1fr
            !important;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust{
        min-height:58px !important;
    }

}


/* ============================================================
19. DESKTOP > 1024
============================================================ */

@media(min-width:1025px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy{

        max-width:
            720px;

    }

}


/* ============================================================
20. TABLET
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{

        min-height:
            590px;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::before{

        opacity:
            .96;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy{

        width:
            74% !important;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::before{
        left:-16px;
        height:110px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::after{
        content:none !important;
        display:none !important;
    }

}


/* ============================================================
21. MOBILE
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{

        min-height:
            auto;


        background:

            radial-gradient(
                circle at 80% 14%,
                rgba(77,192,255,.16),
                transparent 38%
            ),

            linear-gradient(
                180deg,

                #041E33 0%,

                #063A5E 54%,

                #0A5C8F 100%
            );

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::before{

        opacity:
            .92;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::after{

        height:
            130px;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell::before{

        width:
            280px;

        height:
            280px;


        left:
            35%;

        top:
            -60px;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy{

        width:
            100% !important;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::before{
        left:-9px;
        top:4px;
        height:78px;
        width:2px;
    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::after{

        display:
            none;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-eyebrow{

        padding:

            6px 11px;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent::after{

        width:
            64px;


        margin-top:
            7px;

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero:hover
    .pt-hero-title-accent::after{

        width:
            92px;

    }


    /* v9 : tombol full-width agar mudah ditekan di Android/iPhone */
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn .elementor-button,
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-secondary .elementor-button{

        width:100%;

        min-height:50px;

        display:flex;
        align-items:center;
        justify-content:center;

    }

}


/* ============================================================
22. SMALL MOBILE + iPHONE SAFE AREA (v9)
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{

        padding-left:
            max(18px,env(safe-area-inset-left));

        padding-right:
            max(18px,env(safe-area-inset-right));

    }


    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::before{
        height:64px;
    }

}


/* v9 : iOS — cegah teks membesar sendiri saat rotasi layar */
@supports (-webkit-touch-callout:none){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero,
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero *{
        -webkit-text-size-adjust:100%;
    }

}


/* ============================================================
HERO BACKGROUND IMAGE SAFETY
Memastikan CSS ini tidak pernah memuat image di belakang hero.
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero,
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::before,
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::after,
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell,
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell::before{
    background-image:
        none
        !important;
}

/* Reapply CSS-only gradients setelah background-image reset */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{
    background:

        radial-gradient(
            circle at 76% 20%,
            rgba(77,192,255,.20) 0%,
            rgba(77,192,255,.06) 24%,
            transparent 50%
        ),

        radial-gradient(
            circle at 18% 76%,
            rgba(30,143,214,.20) 0%,
            rgba(30,143,214,.06) 30%,
            transparent 56%
        ),

        linear-gradient(
            120deg,
            #041E33 0%,
            #063A5E 36%,
            #0A5C8F 68%,
            #1E8FD6 100%
        )
        !important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::before{
    background:
        linear-gradient(
            115deg,
            rgba(255,255,255,.030) 0%,
            transparent 34%,
            rgba(77,192,255,.065) 72%,
            transparent 100%
        )
        !important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero::after{
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(4,30,51,.14) 34%,
            rgba(4,30,51,.38) 100%
        )
        !important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-shell::before{
    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.20) 0%,
            rgba(77,192,255,.06) 42%,
            transparent 70%
        )
        !important;
}

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero{

        background:

            radial-gradient(
                circle at 80% 14%,
                rgba(77,192,255,.15),
                transparent 38%
            ),

            linear-gradient(
                180deg,
                #041E33 0%,
                #063A5E 54%,
                #0A5C8F 100%
            )
            !important;

    }

}


/* ============================================================
TRUST GRID FINAL WIDTH SAFETY — V9
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust{
    --width:100% !important;
    width:100% !important;
    max-width:none !important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-trust > .pt-mini-trust{
    --width:100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    flex:none !important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust > .elementor-widget-heading{
    --width:auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
}


/* ============================================================
24. OCEAN WORD PALETTE — FINAL VISUAL LOCK (v9)
============================================================ */

.elementor-754 .elementor-element.elementor-element-4be5945{
    --pt-navy:#063A5E;
    --pt-navy-dark:#041E33;
    --pt-ocean:#0A5C8F;
    --pt-ocean-dark:#074A73;
    --pt-azure:#1E8FD6;
    --pt-sky:#4DC0FF;
    --pt-sky-light:#8BD8FF;
    --pt-ice:#EAF7FF;
    --pt-mist:#CFEBFB;
    --pt-charcoal:#0F1B24;
    --pt-white:#FFFFFF;
}

/* continuous rail safety */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-copy::after{
    content:none !important;
    display:none !important;
}

/* eyebrow */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-eyebrow .elementor-heading-title{
    color:#4DC0FF!important;
}

/* headline */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title .elementor-heading-title{

    /* COLOR FROM ELEMENTOR:
       Elementor > Style > Text Color */
}

/* accent headline */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent .elementor-heading-title{

    /* COLOR FROM ELEMENTOR:
       Elementor > Style > Text Color */
}

/* primary CTA */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-primary-btn .elementor-button{
    color:#FFFFFF!important;
}

/* secondary CTA */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-secondary .elementor-button{
    color:#EAF7FF!important;
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-secondary .elementor-button:hover{
    color:#FFFFFF!important;
}

/* trust icons */
.elementor-754 .elementor-element.elementor-element-4be5945 .pt-mini-trust .elementor-icon{
    color:#4DC0FF!important;
}


/* ============================================================
25. HEADING COLOR — ELEMENTOR CONTROL SAFETY
============================================================ */

/*
DESAIN TIDAK DIHILANGKAN.

Untuk mengganti warna Heading:
Elementor > pilih widget Heading > Style > Text Color

CSS tetap mengatur:
- font family (DM Serif Display / Poppins)
- text-shadow
- underline / accent line
- hover underline
- layout, responsive, animation, spacing
- button styling & hero atmosphere

Tetapi CSS TIDAK mengunci warna untuk:
.pt-hero-title
.pt-hero-title-accent
*/

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title .elementor-heading-title{
    /* color intentionally controlled by Elementor */
}

.elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-title-accent .elementor-heading-title{
    /* color intentionally controlled by Elementor */
}


/* ============================================================
23. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-4be5945 *,
    .elementor-754 .elementor-element.elementor-element-4be5945 *::before,
    .elementor-754 .elementor-element.elementor-element-4be5945 *::after{

        animation:
            none !important;

        transition:
            none !important;

    }

@media (max-width: 767px) {
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-text,
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-text p,
    .elementor-754 .elementor-element.elementor-element-4be5945 .pt-hero-text .elementor-widget-container{
        max-width: 100% !important;
        width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
}


}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6422ec4 *//* ============================================================
   ============================================================
   ABOUT US — "AZURE ARCH" V12  (UNLOCKED EDITION)
   CV BALINGKANG PARADISE

   ELEMENTOR CONTAINER VERSION

   FILE INI MENGGANTIKAN SELURUH CSS ABOUT US SEBELUMNYA.
   Hapus semua isi Custom CSS lama, lalu tempel file ini.

   ------------------------------------------------------------
   PERUBAHAN UTAMA v12 — SEMUA BISA DIEDIT
   ------------------------------------------------------------
   - Seluruh !important pada FONT, UKURAN, dan WARNA TEKS DIHAPUS.
   - Panel Elementor kembali berkuasa penuh:
       Style > Typography  -> font, ukuran, weight, spacing
       Style > Text Color  -> warna teks
   - CSS hanya mengatur: layout, posisi, bentuk, bayangan,
     animasi, dan responsive.
   - Nilai tipografi di file ini hanya DEFAULT (tanpa !important).
     Begitu Anda set dari panel Elementor, panel yang menang.
   - Semua warna dekorasi ditarik ke satu tempat:
     blok "01. PUSAT KENDALI" di bawah. Ubah di sana saja.
   ------------------------------------------------------------

   TAMBAHAN VISUAL v12
   - Kartu trust: border gradasi + spotlight cahaya saat hover
   - Foto utama: sheen (kilau) melintas saat hover
   - Rail titik-titik dekoratif di sisi kolom teks
   - Nomor urut halus di tiap kartu trust

   RESPONSIVE
   Desktop / Laptop / Tablet / Android / iPhone / Small Mobile
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA DI SINI

   Ini satu-satunya blok yang perlu Anda sentuh kalau ingin
   ganti warna atau bentuk secara global.
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 {

    /* --------------------------------------------------------
       WARNA UTAMA
       Ganti hex di bawah, seluruh section ikut berubah.
       -------------------------------------------------------- */

    --ab-primary:      #000000;   /* Navy — judul & teks utama  */
    --ab-secondary:    #1E8FD6;   /* Azure — eyebrow & label    */
    --ab-sky:          #4DC0FF;   /* Sky — aksen, garis, glow   */
    --ab-sky-light:    #8BD8FF;
    --ab-accent:       #0A5C8F;   /* Ocean — gradasi ikon       */
    --ab-navy-dark:    #041E33;   /* Badge gelap                */

    /* alias lama — jangan dihapus, dipakai beberapa aturan */
    --ab-warm-red:     var(--ab-sky);


    /* --------------------------------------------------------
       WARNA LATAR
       -------------------------------------------------------- */

    --ab-section-top:  #F8FCFF;   /* atas section  */
    --ab-ivory:        #EAF4FC;   /* bawah section */
    --ab-blush:        #D7ECF9;   /* placeholder foto */
    --ab-white:        #FFFFFF;


    /* --------------------------------------------------------
       WARNA TEKS DEFAULT
       Hanya default. Panel Elementor bisa menimpanya.
       -------------------------------------------------------- */

    --ab-text:   #10222F;
    --ab-muted:  rgba(16, 34, 47, 0.72);
    --ab-soft:   rgba(16, 34, 47, 0.56);
    --ab-faint:  rgba(16, 34, 47, 0.34);


    /* --------------------------------------------------------
       GARIS
       -------------------------------------------------------- */

    --ab-line:       rgba(30, 143, 214, 0.20);
    --ab-line-soft:  rgba(30, 143, 214, 0.10);


    /* --------------------------------------------------------
       FONT DEFAULT
       Ini hanya berlaku kalau widget BELUM diatur di Elementor.
       Begitu Anda set Typography di panel, panel yang dipakai.
       -------------------------------------------------------- */

    --ab-font-display: "DM Serif Display", Georgia, serif;
    --ab-font-body:    "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;


    /* --------------------------------------------------------
       BENTUK & UKURAN
       -------------------------------------------------------- */

    --ab-max-width: 1440px;

    /* lengkungan arch foto utama.
       angka 1 & 2 = tinggi kubah. 120px landai, 240px kubah penuh */
    --ab-arch:        190px 190px 28px 28px;
    --ab-arch-inner:  178px 178px 20px 20px;

    --ab-image-radius: var(--ab-arch);

    /* sudut tajam kartu — ubah angka ke-2 kalau mau semua membulat */
    --ab-owner-radius: 26px 6px 26px 26px;
    --ab-card-radius:  20px 4px 20px 20px;

    --ab-column-gap: clamp(56px, 6vw, 110px);

    --ab-ease: cubic-bezier(.2, .75, .2, 1);


    /* --------------------------------------------------------
       SECTION BASE
       -------------------------------------------------------- */

    position: relative;

    width: 100%;

    overflow: hidden;

    isolation: isolate;

    box-sizing: border-box;

    /* default saja — bisa ditimpa Elementor */
    font-family: var(--ab-font-body);

    color: var(--ab-text);

    background:
        linear-gradient(
            180deg,
            var(--ab-section-top) 0%,
            var(--ab-ivory) 100%
        );

    padding:
        clamp(62px, 6vw, 92px)
        clamp(22px, 5vw, 82px);
}


/* ============================================================
   02. BOX SIZING
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 *,
.elementor-754 .elementor-element.elementor-element-6422ec4 *::before,
.elementor-754 .elementor-element.elementor-element-6422ec4 *::after {

    box-sizing: border-box;
}


/* ============================================================
   03. AMBIENT GLOW
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4::before {

    content: "";

    position: absolute;

    width:  clamp(440px, 56vw, 920px);
    height: clamp(440px, 56vw, 920px);

    right: clamp(-450px, -21vw, -180px);
    top:   clamp(-330px, -15vw, -120px);

    z-index: -3;

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(77, 192, 255, 0.20) 0%,
            rgba(30, 143, 214, 0.075) 36%,
            transparent 70%
        );

    filter: blur(7px);

    animation:
        aboutAmbientGlow
        10s ease-in-out infinite;
}


/* ============================================================
   04. GRID TEXTURE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -4;

    pointer-events: none;

    opacity: 0.40;

    background-image:

        linear-gradient(
            rgba(30, 143, 214, 0.030) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(30, 143, 214, 0.030) 1px,
            transparent 1px
        );

    background-size: 48px 48px;

    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent,
            black 16%,
            black 84%,
            transparent
        );

    mask-image:
        linear-gradient(
            to right,
            transparent,
            black 16%,
            black 84%,
            transparent
        );
}


/* ============================================================
   05. MAIN SHELL
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell {

    position: relative;

    width: min(100%, var(--ab-max-width));

    margin-inline: auto;

    display: grid !important;

    grid-template-columns:
        minmax(0, 0.96fr)
        minmax(0, 1.04fr);

    align-items: center;

    gap: var(--ab-column-gap);

    z-index: 2;
}


/* ============================================================
   06. WATERMARK "01"

   Ini teks buatan CSS, bukan widget Elementor, jadi memang
   diatur di sini. Ubah font-size / opacity sesuai selera.
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell::before {

    content: "01";

    position: absolute;

    right: 0;
    top: -48px;

    z-index: -1;

    pointer-events: none;

    user-select: none;

    font-family: var(--ab-font-display);

    font-size: clamp(70px, 8vw, 125px);

    line-height: 1;

    letter-spacing: -0.04em;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(30, 143, 214, 0.16);

    opacity: 0.90;
}


/* ============================================================
   07. WATERMARK "BALI"
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell::after {

    content: "BALI";

    position: absolute;

    left: 0;
    bottom: -35px;

    z-index: -1;

    pointer-events: none;

    user-select: none;

    font-family: var(--ab-font-display);

    font-size: clamp(85px, 12vw, 180px);

    line-height: 0.8;

    letter-spacing: -0.045em;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(30, 143, 214, 0.13);

    opacity: 0.80;
}


/* ============================================================
   08. VISUAL COLUMN
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

    position: relative;

    display: block !important;

    width: 100%;

    min-width: 0;

    min-height: clamp(520px, 40vw, 640px);

    z-index: 3;
}


/* ============================================================
   09. MAIN IMAGE WRAPPER — ARCH
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

    position: absolute;

    left: 3%;
    top: 2%;

    width: min(76%, 520px);

    height: 84%;

    display: block !important;

    overflow: visible;

    z-index: 2;

    border-radius: var(--ab-arch);
}


/* ============================================================
   10. OFFSET ARCH FRAME
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap::before {

    content: "";

    position: absolute;

    inset: -18px 18px 18px -18px;

    z-index: -2;

    border: 1.5px solid rgba(77, 192, 255, 0.55);

    border-radius: var(--ab-arch);

    box-shadow:
        -8px 10px 32px -16px
        rgba(30, 143, 214, 0.45);

    transition: transform .7s var(--ab-ease);
}


/* ============================================================
   11. ORBIT RING
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap::after {

    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    left: -58px;
    bottom: -46px;

    z-index: -3;

    border-radius: 50%;

    border: 1px dashed rgba(77, 192, 255, 0.50);

    background:
        radial-gradient(
            circle,
            rgba(77, 192, 255, 0.14) 0%,
            transparent 64%
        );

    box-shadow: 0 0 44px rgba(77, 192, 255, 0.16);

    animation: aboutOrbitSpin 48s linear infinite;

    pointer-events: none;
}


@keyframes aboutOrbitSpin {

    from { transform: rotate(0deg); }

    to   { transform: rotate(360deg); }
}


/* ============================================================
   12. MAIN IMAGE WIDGET
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image {

    position: relative;

    width: 100%;

    height: 100%;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image
.elementor-widget-container {

    position: relative;

    width: 100%;

    height: 100%;

    overflow: hidden;

    border-radius: var(--ab-arch);

    border: 7px solid var(--ab-white);

    background: var(--ab-blush);

    box-shadow:
        0 34px 76px rgba(4, 30, 51, 0.20),
        0 0 0 1px rgba(77, 192, 255, 0.16);
}


/* ============================================================
   13. OVERLAY + SHEEN  (v12)
   Kilau diagonal melintas saat hover
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image
.elementor-widget-container::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 3;

    pointer-events: none;

    background:

        linear-gradient(
            180deg,
            transparent 54%,
            rgba(4, 30, 51, 0.16) 100%
        ),

        /* v12 : sheen */
        linear-gradient(
            108deg,
            transparent 38%,
            rgba(255, 255, 255, 0.26) 50%,
            transparent 62%
        );

    background-size: 100% 100%, 260% 100%;

    background-position: 0 0, -80% 0;

    background-repeat: no-repeat;

    transition: background-position 1.1s var(--ab-ease);
}


/* keystone belah ketupat di puncak lengkungan */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image
.elementor-widget-container::before {

    content: "";

    position: absolute;

    top: 16px;
    left: 50%;

    z-index: 4;

    width: 30px;
    height: 30px;

    transform:
        translateX(-50%)
        rotate(45deg);

    border-radius: 7px;

    background:
        linear-gradient(
            135deg,
            var(--ab-sky),
            var(--ab-secondary)
        );

    box-shadow:
        0 6px 18px rgba(77, 192, 255, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);

    transition: transform .6s var(--ab-ease);
}


/* ============================================================
   14. MAIN IMAGE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image img {

    display: block;

    width: 100%;

    height: 100%;

    min-height: 100%;

    object-fit: cover;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position: center center;

    transform: scale(1.02);

    transition:
        transform 1.1s var(--ab-ease),
        filter .8s ease;
}


/* ============================================================
   15. MAIN IMAGE HOVER
   ============================================================ */

@media (hover:hover) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap:hover
    .about-main-image img {

        transform: scale(1.07);

        filter: saturate(1.04) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap:hover::before {

        transform: translate(-7px, 7px);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap:hover
    .about-main-image
    .elementor-widget-container::before {

        transform:
            translateX(-50%)
            rotate(135deg);
    }


    /* v12 : sheen menyapu */
    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap:hover
    .about-main-image
    .elementor-widget-container::after {

        background-position: 0 0, 180% 0;
    }
}


/* ============================================================
   16. OWNER CARD
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

    position: absolute;

    right: 0;
    bottom: 2%;

    width: clamp(205px, 17vw, 272px);

    display: flex !important;

    flex-direction: column;

    align-items: stretch;

    overflow: hidden;

    z-index: 7;

    border: 6px solid var(--ab-white);

    border-radius: var(--ab-owner-radius);

    background: var(--ab-white);

    box-shadow:
        0 22px 50px rgba(4, 30, 51, 0.16),
        0 0 0 1px rgba(77, 192, 255, 0.14);

    transform: rotate(1.2deg);

    transition:
        transform .6s var(--ab-ease),
        box-shadow .6s ease;
}


/* ============================================================
   17. OWNER CARD DOT
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card::before {

    content: "";

    position: absolute;

    left: 18px;
    top: 18px;

    width: 10px;
    height: 10px;

    z-index: 8;

    border-radius: 50%;

    background: var(--ab-sky);

    box-shadow: 0 0 0 7px rgba(77, 192, 255, 0.20);
}


/* ============================================================
   18. OWNER IMAGE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-image {

    width: 100%;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-image
.elementor-widget-container {

    width: 100%;

    overflow: hidden;

    aspect-ratio: 4 / 4.35;

    border-radius: 20px 4px 0 0;

    background: var(--ab-blush);
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center top;

    transform: scale(1.01);

    transition: transform .85s var(--ab-ease);
}


/* ============================================================
   19. OWNER INFO
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-info {

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    gap: 4px !important;

    padding: 16px 18px 18px;
}


/* ============================================================
   20. OWNER LABEL
   Tipografi = DEFAULT saja, silakan timpa dari Elementor
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-label {

    margin: 0;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-label
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 11px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--ab-secondary);
}


/* ============================================================
   21. OWNER ROLE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-role {

    margin: 0;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-role
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(21px, 1.6vw, 25px);

    line-height: 1.18;

    letter-spacing: -0.012em;

    color: var(--ab-primary);
}


/* ============================================================
   22. OWNER CARD HOVER
   ============================================================ */

@media (hover:hover) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card:hover {

        transform:
            translateY(-8px)
            rotate(0deg);

        box-shadow:
            0 32px 70px rgba(4, 30, 51, 0.22),
            0 0 0 1px rgba(77, 192, 255, 0.28);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card:hover
    .about-owner-image img {

        transform: scale(1.055);
    }
}


/* ============================================================
   23. LOCAL BADGE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience {

    position: absolute;

    left: 0;
    bottom: 0;

    z-index: 8;

    width: clamp(205px, 17vw, 245px);

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    gap: 6px !important;

    padding: 20px 22px;

    overflow: hidden;

    border: 1px solid rgba(77, 192, 255, 0.28);

    border-radius: var(--ab-card-radius);

    background:
        linear-gradient(
            145deg,
            var(--ab-primary) 0%,
            var(--ab-navy-dark) 100%
        );

    box-shadow: 0 22px 48px rgba(4, 30, 51, 0.28);
}


/* ============================================================
   24. LOCAL BADGE DECORATION
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience::after {

    content: "";

    position: absolute;

    width: 92px;
    height: 92px;

    right: -35px;
    top: -35px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(77, 192, 255, 0.55) 0%,
            rgba(30, 143, 214, 0.18) 60%,
            transparent 72%
        );

    pointer-events: none;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience::before {

    content: "";

    position: absolute;

    left: 0;
    top: 22px;
    bottom: 22px;

    width: 3px;

    border-radius: 0 999px 999px 0;

    background:
        linear-gradient(
            180deg,
            var(--ab-sky),
            rgba(77, 192, 255, 0.10)
        );
}


/* ============================================================
   25. LOCAL BADGE TITLE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience-number {

    position: relative;

    z-index: 2;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience-number
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(24px, 2.15vw, 32px);

    line-height: 1;

    letter-spacing: -0.015em;

    color: var(--ab-white);
}


/* ============================================================
   26. LOCAL BADGE DESCRIPTION
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience-text {

    position: relative;

    z-index: 2;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience-text
.elementor-widget-container,

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience-text p {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 16px;

    font-weight: 300;

    line-height: 1.50;

    color: rgba(234, 247, 255, 0.88);
}


/* ============================================================
   27. CONTENT COLUMN
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-content {

    position: relative;

    min-width: 0;

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    gap: 0 !important;

    z-index: 4;
}


/* v12 : rail titik-titik dekoratif di sisi kiri kolom teks */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-content::before {

    content: "";

    position: absolute;

    left: -26px;
    top: 6px;

    width: 3px;
    height: 96px;

    border-radius: 999px;

    background:
        repeating-linear-gradient(
            180deg,
            var(--ab-sky) 0px,
            var(--ab-sky) 3px,
            transparent 3px,
            transparent 9px
        );

    opacity: .75;

    pointer-events: none;
}


/* ============================================================
   28. ABOUT EYEBROW
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-eyebrow {

    margin: 0 0 17px;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-eyebrow
.elementor-heading-title {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: clamp(10.5px, 0.72vw, 12px);

    font-weight: 600;

    line-height: 1.2;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--ab-secondary);
}


/* ============================================================
   29. EYEBROW LINE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-eyebrow
.elementor-heading-title::before {

    content: "";

    width: 38px;

    height: 2px;

    flex-shrink: 0;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--ab-sky),
            rgba(77, 192, 255, 0.15)
        );
}


/* ============================================================
   30. MAIN TITLE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-title {

    margin: 0;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-title
.elementor-heading-title {

    max-width: 720px;

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(50px, 4.7vw, 74px);

    line-height: 1.02;

    letter-spacing: -0.022em;

    color: var(--ab-primary);

    text-wrap: balance;
}


/* ============================================================
   31. LEAD TEXT
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-lead {

    max-width: 670px;

    margin-top: 20px;

    padding-left: 20px;

    border-left: 2px solid var(--ab-sky);
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-lead
.elementor-widget-container,

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-lead p {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 16px;

    font-weight: 500;

    line-height: 1.68;

    letter-spacing: -0.008em;

    color: var(--ab-text);
}


/* ============================================================
   32. COMPANY IDENTITY
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-company {

    position: relative;

    width: 100%;

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    gap: 6px !important;

    margin-top: 25px;

    padding: 17px 21px 18px 25px;

    overflow: hidden;

    border: 1px solid var(--ab-line);

    border-radius: 16px 4px 16px 16px;

    background: rgba(255, 255, 255, 0.66);

    -webkit-backdrop-filter: blur(8px);

    backdrop-filter: blur(8px);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 10px 28px rgba(4, 30, 51, 0.06);
}


/* ============================================================
   33. COMPANY STRIPE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-company::before {

    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background:
        linear-gradient(
            to bottom,
            var(--ab-sky),
            var(--ab-primary)
        );
}


/* ============================================================
   34. COMPANY RING
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-company::after {

    content: "";

    position: absolute;

    width: 108px;
    height: 108px;

    right: -48px;
    top: -52px;

    border: 1px solid rgba(30, 143, 214, 0.16);

    border-radius: 50%;

    pointer-events: none;
}


/* ============================================================
   35. COMPANY LABEL
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-company-label
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 11px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--ab-soft);
}


/* ============================================================
   36. COMPANY NAME
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-company-name
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(24px, 1.9vw, 31px);

    line-height: 1.16;

    letter-spacing: 0.015em;

    color: var(--ab-primary);
}


/* ============================================================
   37. DESCRIPTION
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-description {

    max-width: 720px;

    margin-top: 19px;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-description
.elementor-widget-container,

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-description p {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 16px;

    font-weight: 300;

    line-height: 1.78;

    color: var(--ab-muted);
}


/* ============================================================
   ============================================================
   38. TRUST GRID
   ============================================================
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid {

    position: relative;

    width: 100%;

    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px !important;

    margin-top: 30px;

    border: 0;

    /* counter untuk nomor halus di kartu */
    counter-reset: abtrust;
}


/* staggered — kartu 2 & 4 turun */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
> .about-trust-item:nth-child(2),

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
> .about-trust-item:nth-child(4) {

    margin-top: 22px;
}


/* ============================================================
   39. TRUST ITEM — KARTU BORDER GRADASI  (v12)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item {

    position: relative;

    min-width: 0;

    display: grid !important;

    grid-template-columns: minmax(0, 1fr);

    grid-template-rows: auto auto auto;

    row-gap: 10px;

    align-items: start;

    padding: 24px 22px 26px;

    overflow: hidden;

    isolation: isolate;

    counter-increment: abtrust;

    border: 1px solid transparent;

    border-radius: var(--ab-card-radius);

    /* v12 : border gradasi — 2 lapis background */
    background:

        linear-gradient(
            160deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(234, 244, 252, 0.76) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77, 192, 255, 0.70) 0%,
            rgba(30, 143, 214, 0.18) 45%,
            rgba(255, 255, 255, 0.10) 100%
        ) border-box;

    box-shadow:
        0 12px 30px rgba(4, 30, 51, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);

    transition:
        transform .45s var(--ab-ease),
        box-shadow .45s ease;
}


/* v12 : nomor halus di pojok kanan atas kartu */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item
.about-trust-icon::after {

    content: counter(abtrust, decimal-leading-zero);

    position: absolute;

    right: 20px;
    top: 18px;

    font-family: var(--ab-font-display);

    font-size: 26px;

    line-height: 1;

    color: transparent;

    -webkit-text-stroke: 1px rgba(30, 143, 214, 0.28);

    pointer-events: none;

    transition: opacity .45s ease;

    opacity: .75;
}


/* ============================================================
   40. TRUST — AKSEN ATAS + SPOTLIGHT HOVER  (v12)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item::after {

    content: "";

    position: absolute;

    top: 0;
    left: 22px;

    width: 42px;
    height: 3px;

    border-radius: 0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--ab-sky),
            rgba(77, 192, 255, 0.18)
        );

    transition:
        width .45s var(--ab-ease),
        box-shadow .35s ease;
}


/* spotlight cahaya dari sudut kiri atas */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        radial-gradient(
            72% 60% at 12% 0%,
            rgba(77, 192, 255, 0.26) 0%,
            rgba(30, 143, 214, 0.07) 46%,
            transparent 74%
        );

    opacity: 0;

    transition: opacity .45s ease;
}


/* ============================================================
   41. TRUST ICON WRAPPER
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon {

    position: relative;

    grid-column: 1;

    grid-row: 1;

    margin-bottom: 2px;
}


/* ============================================================
   42. TRUST ICON — TILE GRADASI

   Warna ikon diambil dari variabel di blok 01.
   Tidak dikunci !important lagi, jadi kalau Anda set warna
   ikon dari Elementor > Style > Color, panel yang menang.
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon
.elementor-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 46px;

    height: 46px;

    padding: 0;

    border-radius: 15px 4px 15px 15px;

    border: 1px solid rgba(255, 255, 255, 0.30);

    color: #FFFFFF;

    background:
        linear-gradient(
            140deg,
            var(--ab-sky) 0%,
            var(--ab-secondary) 58%,
            var(--ab-accent) 100%
        );

    box-shadow:
        0 10px 22px rgba(30, 143, 214, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.40);

    transition:
        transform .45s var(--ab-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon svg {

    width: 19px;

    height: 19px;

    fill: currentColor;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon
.elementor-icon i {

    font-size: 19px;
}


/* ============================================================
   43. TRUST TITLE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-title {

    grid-column: 1;

    grid-row: 2;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-title
.elementor-heading-title {

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(21px, 1.35vw, 24px);

    line-height: 1.18;

    letter-spacing: -0.008em;

    color: var(--ab-primary);
}


/* ============================================================
   44. TRUST TEXT
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-text {

    grid-column: 1;

    grid-row: 3;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-text
.elementor-widget-container,

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-text p {

    margin: 0;

    font-family: var(--ab-font-body);

    font-size: 16px;

    font-weight: 300;

    line-height: 1.62;

    color: var(--ab-soft);
}


/* ============================================================
   45. TRUST HOVER
   ============================================================ */

@media (hover:hover) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item:hover {

        transform: translateY(-6px);

        box-shadow:
            0 22px 46px rgba(4, 30, 51, 0.13),
            inset 0 1px 0 rgba(255, 255, 255, 0.90);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item:hover::before {

        opacity: 1;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item:hover::after {

        width: calc(100% - 44px);

        box-shadow: 0 2px 14px rgba(77, 192, 255, 0.40);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item:hover
    .about-trust-icon::after {

        opacity: 0;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item:hover
    .about-trust-icon
    .elementor-icon {

        transform:
            translateY(-2px)
            rotate(-5deg)
            scale(1.06);

        box-shadow:
            0 15px 32px rgba(30, 143, 214, 0.42),
            inset 0 1px 0 rgba(255, 255, 255, 0.50);
    }
}


/* ============================================================
   46. SIGNATURE
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature {

    width: 100%;

    display: flex !important;

    flex-direction: row;

    align-items: center;

    gap: 14px !important;

    margin-top: 24px;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-line {

    width: 48px !important;

    min-width: 48px;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-line
.elementor-divider {

    padding: 0 !important;
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-line
.elementor-divider-separator {

    width: 48px !important;

    border-block-start: 2px solid var(--ab-sky);
}


.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-text
.elementor-widget-container,

.elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-text p {

    margin: 0;

    font-family: var(--ab-font-display);

    font-weight: 400;

    font-size: clamp(18px, 1.2vw, 21px);

    font-style: italic;

    line-height: 1.4;

    color: var(--ab-primary);
}


/* ============================================================
   49. SCROLL REVEAL
   ============================================================ */

@supports (animation-timeline: view()) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

        animation: aboutImageReveal linear both;

        animation-timeline: view();

        animation-range: entry 0% entry 36%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-content {

        animation: aboutContentReveal linear both;

        animation-timeline: view();

        animation-range: entry 0% entry 35%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        animation: aboutOwnerReveal linear both;

        animation-timeline: view();

        animation-range: entry 5% entry 42%;
    }
}


@keyframes aboutImageReveal {

    from {
        opacity: 0;
        transform: translateX(-35px) scale(0.975);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}


@keyframes aboutContentReveal {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes aboutOwnerReveal {

    from {
        opacity: 0;
        transform: translateY(35px) rotate(3deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotate(1.2deg);
    }
}


@keyframes aboutAmbientGlow {

    0%, 100% {
        opacity: 0.82;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.06);
    }
}


/* ============================================================
   54. LARGE DESKTOP  >= 1600px
   ============================================================ */

@media (min-width:1600px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        --ab-max-width: 1510px;

        padding-top: 82px;

        padding-bottom: 82px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        min-height: 620px;
    }
}


/* ============================================================
   55. LAPTOP  1025 - 1280
   ============================================================ */

@media (min-width:1025px) and (max-width:1280px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        padding: 62px 44px;

        --ab-column-gap: 58px;

        --ab-arch: 160px 160px 24px 24px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell {

        grid-template-columns:
            minmax(0, 0.92fr)
            minmax(0, 1.08fr);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        min-height: 530px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

        width: 76%;

        height: 84%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        width: 210px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item {

        padding: 21px 19px 23px;
    }
}


/* ============================================================
   56. TABLET  768 - 1024
   ============================================================ */

@media (min-width:768px) and (max-width:1024px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        --ab-arch: 150px 150px 24px 24px;

        padding:
            66px
            clamp(30px, 4.5vw, 46px)
            68px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell {

        grid-template-columns: 1fr;

        gap: 54px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        width: 100%;

        min-height: 540px;

        max-width: 660px;

        margin-inline: auto;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

        width: 68%;

        height: 84%;

        left: 6%;

        top: 0;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap::after {

        width: 128px;

        height: 128px;

        left: -44px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        width: clamp(205px, 27vw, 242px);

        right: 1%;

        bottom: 1%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience {

        left: 0;

        bottom: 0;

        width: 220px;

        padding: 19px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-content {

        width: 100%;

        max-width: 760px;

        margin-inline: auto;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-content::before {

        display: none;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid {

        gap: 14px !important;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
    > .about-trust-item:nth-child(2),

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
    > .about-trust-item:nth-child(4) {

        margin-top: 16px;
    }
}


/* ============================================================
   57. TABLET PORTRAIT  768 - 820
   ============================================================ */

@media (min-width:768px) and (max-width:820px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        min-height: 510px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell {

        gap: 48px;
    }
}


/* ============================================================
   58. MOBILE  <= 767px
   ============================================================ */

@media (max-width:767px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        --ab-arch: 130px 130px 20px 20px;

        --ab-owner-radius: 22px 5px 22px 22px;

        --ab-card-radius: 18px 4px 18px 18px;

        padding:
            52px
            clamp(18px, 5.2vw, 24px)
            54px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell {

        grid-template-columns: 1fr;

        gap: 44px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-content::before {

        display: none;
    }


    /* VISUAL */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        width: 100%;

        min-height: clamp(420px, 110vw, 500px);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

        left: 2%;

        top: 0;

        width: 76%;

        height: 74%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image
    .elementor-widget-container {

        border-width: 5px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap::before {

        inset: -11px 11px 11px -11px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap::after {

        width: 92px;

        height: 92px;

        left: -28px;

        bottom: -26px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image
    .elementor-widget-container::before {

        top: 11px;

        width: 22px;

        height: 22px;

        border-radius: 6px;
    }


    /* OWNER */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        width: clamp(165px, 46vw, 200px);

        right: 0;

        bottom: 3%;

        border-width: 5px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card::before {

        left: 14px;

        top: 14px;

        width: 8px;

        height: 8px;

        box-shadow: 0 0 0 5px rgba(77, 192, 255, 0.20);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-info {

        padding: 13px 14px 15px;
    }


    /* LOCAL BADGE */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience {

        left: 0;

        bottom: 1%;

        width: clamp(180px, 51vw, 215px);

        padding: 16px 17px;
    }


    /* CONTENT */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-eyebrow {

        margin-bottom: 14px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-eyebrow
    .elementor-heading-title::before {

        width: 26px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-title
    .elementor-heading-title {

        font-size: clamp(38px, 10.2vw, 47px);

        line-height: 1.05;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-lead {

        max-width: 100%;

        margin-top: 18px;

        padding-left: 16px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-company {

        margin-top: 23px;

        padding: 16px 17px 17px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-description {

        margin-top: 18px;
    }


    /* TRUST — 1 KOLOM, ikon pindah ke samping */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid {

        grid-template-columns: 1fr;

        gap: 13px !important;

        margin-top: 27px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
    > .about-trust-item:nth-child(2),

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-grid
    > .about-trust-item:nth-child(4) {

        margin-top: 0;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item {

        grid-template-columns:
            46px minmax(0, 1fr);

        grid-template-rows: auto auto;

        column-gap: 14px;

        row-gap: 6px;

        padding: 20px 18px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon {

        grid-column: 1;

        grid-row: 1 / 3;

        margin-bottom: 0;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon::after {

        right: 16px;

        top: 14px;

        font-size: 22px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-title {

        grid-column: 2;

        grid-row: 1;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-text {

        grid-column: 2;

        grid-row: 2;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item::after {

        left: 18px;

        width: 34px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon
    .elementor-icon {

        width: 44px;

        height: 44px;
    }


    /* SIGNATURE */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature {

        margin-top: 22px;

        gap: 13px !important;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-line {

        width: 32px !important;

        min-width: 32px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-signature-line
    .elementor-divider-separator {

        width: 32px !important;
    }


    /* WATERMARK */

    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell::before {

        top: -28px;

        right: 2px;

        font-size: 72px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-shell::after {

        bottom: -12px;

        font-size: clamp(80px, 27vw, 125px);

        opacity: 0.55;
    }
}


/* ============================================================
   59. SMALL MOBILE  <= 480px
   ============================================================ */

@media (max-width:480px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        padding-left:
            max(18px, env(safe-area-inset-left));

        padding-right:
            max(18px, env(safe-area-inset-right));
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        min-height: clamp(400px, 106vw, 460px);
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        width: 48vw;

        min-width: 170px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience {

        width: clamp(175px, 53vw, 205px);

        padding: 15px 16px;
    }
}


/* ============================================================
   60. VERY SMALL MOBILE  <= 374px
   ============================================================ */

@media (max-width:374px) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 {

        padding-top: 46px;

        padding-bottom: 48px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-visual {

        min-height: 375px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-main-image-wrap {

        width: 80%;

        height: 70%;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-owner-card {

        width: 158px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-experience {

        width: 175px;

        padding: 14px 15px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item {

        padding: 18px 15px 19px;

        grid-template-columns:
            42px minmax(0, 1fr);

        column-gap: 12px;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-icon
    .elementor-icon {

        width: 40px;

        height: 40px;
    }
}


/* ============================================================
   61. TOUCH DEVICES
   ============================================================ */

@media (hover:none) and (pointer:coarse) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 a,
    .elementor-754 .elementor-element.elementor-element-6422ec4 button {

        -webkit-tap-highlight-color: transparent;
    }


    .elementor-754 .elementor-element.elementor-element-6422ec4 .about-trust-item {

        transform: none;
    }
}


/* ============================================================
   62. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion:reduce) {

    .elementor-754 .elementor-element.elementor-element-6422ec4 *,
    .elementor-754 .elementor-element.elementor-element-6422ec4 *::before,
    .elementor-754 .elementor-element.elementor-element-6422ec4 *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

        scroll-behavior: auto !important;
    }
}


/* ============================================================
   63. ACCESSIBILITY FOCUS
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 a:focus-visible,
.elementor-754 .elementor-element.elementor-element-6422ec4 button:focus-visible {

    outline: 2px solid var(--ab-sky);

    outline-offset: 4px;

    border-radius: 8px;
}


/* ============================================================
   64. TEXT SELECTION
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6422ec4 ::selection {

    background: var(--ab-sky);

    color: var(--ab-navy-dark);
}


/* ============================================================
   ============================================================
   CATATAN PEMAKAIAN

   1. Semua tipografi di file ini TANPA !important.
      Artinya begitu Anda mengatur widget dari
      Elementor > Style > Typography, pengaturan panel
      otomatis menang. Tidak perlu menyentuh CSS.

   2. Kalau ada satu widget yang tetap tidak mau berubah,
      penyebabnya hampir selalu Global Font/Global Color
      yang masih terpasang di widget itu. Buka widget,
      klik ikon globe kecil di sebelah Typography/Color,
      pilih "Custom", lalu atur manual.

   3. Untuk mengubah warna secara global (semua sekaligus),
      cukup edit hex di blok "01. PUSAT KENDALI" paling atas.

   4. Untuk mengubah bentuk lengkungan foto, edit --ab-arch.
      Untuk membuat semua sudut kartu membulat,
      ubah --ab-card-radius menjadi: 20px 20px 20px 20px.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4088f0a *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   REVIEW TRIPADVISOR — "AZURE GUEST STORIES" V2

   ------------------------------------------------------------
   PERBAIKAN v2 — EYEBROW MEPET / MENUMPUK HEADING
   ------------------------------------------------------------
   MASALAH:
   Eyebrow "REVIEWS | TRIPADVISOR" menempel dan menumpuk
   di atas judul, tidak seperti eyebrow di section Gallery.

   PENYEBAB:
   Eyebrow v1 dibuat dari .review-header-left::before.
   Elementor SUDAH memakai ::before pada setiap Container
   (.e-con::before) untuk Background Overlay, lengkap dengan
   position:absolute + top/left. Akibatnya eyebrow ikut
   melayang (absolute) dan menimpa heading.

   SOLUSI:
   - Eyebrow dipindah ke widget Heading (.review-title),
     yang tidak dipakai Elementor untuk overlay.
   - Widget Heading dijadikan grid 2 baris:
       baris 1 -> ::before "REVIEWS" (biru + garis)
                  ::after  "TRIPADVISOR" (abu + pemisah)
       baris 2 -> judul (h2)
     Hasilnya dua warna, persis seperti
     "GALLERY | VISUAL JOURNAL".
   - Jarak eyebrow ke judul = 18px (desktop), 12px (mobile).
   - Garis aksen di bawah judul dipindah ke
     .elementor-heading-title::after.

   Tidak ada bagian lain dari CSS yang diubah.

   PASTE:
   CONTAINER PALING LUAR (ROOT SECTION REVIEW)
   → Advanced
   → Custom CSS

   KONSEP:
   Seragam dengan section GALLERY "Azure Visual Journal":
   - background gradient biru + tekstur titik + cahaya ambient
   - angka section outline "05" + watermark "REVIEWS"
   - eyebrow bergaris gradient, judul DM Serif Display
   - intro Poppins 300 dengan garis kiri sky
   - frame kaca untuk widget review + label pill
   - tombol pill gradient dengan kilau melintas

   ------------------------------------------------------------
   STRUKTUR & CSS CLASSES
   ------------------------------------------------------------
   Container (root)               -> (TIDAK perlu class,
                                      Custom CSS ditempel di sini)
   ├─ Container                   -> review-header
   │   ├─ Container               -> review-header-left
   │   │   └─ Heading             -> review-title
   │   └─ Container               -> review-intro-wrap
   │       └─ Text Editor         -> review-intro
   └─ Container                   -> review-body
       ├─ Shortcode               -> review-widget
       ├─ Heading                 -> review-note
       └─ Button                  -> review-cta

   Pasang di: Advanced > CSS Classes (tanpa titik).

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ------------------------------------------------------------
   Semua aturan font & warna teks dibungkus :where()
   -> spesifisitas NOL. Panel Elementor selalu menang.

   Pengecualian: tombol (review-cta) memakai selektor
   normal (0,2,1) agar menang atas Global Font (0,2,0),
   tetapi tetap kalah dari Typography per-widget (0,3,0).
   Sama persis dengan perbaikan v23 di Gallery.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   (nilai sama persis dengan --gal-* di Gallery)
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a{

    --rev-navy:#063A5E;
    --rev-navy-dark:#041E33;

    --rev-blue:#1E8FD6;
    --rev-blue-dark:#0A5C8F;

    --rev-sky:#4DC0FF;
    --rev-sky-light:#8BD8FF;

    --rev-ivory:#EAF4FC;
    --rev-ivory-light:#F8FCFF;

    --rev-blush:#D7ECF9;

    --rev-charcoal:#10222F;
    --rev-white:#FFFFFF;

    --rev-body:rgba(16,34,47,.74);
    --rev-muted:rgba(16,34,47,.56);

    --rev-line:rgba(30,143,214,.20);
    --rev-line-soft:rgba(30,143,214,.10);

    --rev-max:1420px;

    --rev-font-display:"DM Serif Display",Georgia,serif;
    --rev-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    /* sudut "takik" khas — sama dengan main image gallery */
    --rev-radius:26px 6px 26px 26px;

    --rev-ease:cubic-bezier(.22,1,.36,1);


    position:relative;

    isolation:isolate;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;
    max-width:none!important;

    min-width:0;

    margin:0!important;

    padding:

        clamp(72px,6.5vw,110px)
        clamp(20px,5vw,76px)
        clamp(70px,6.5vw,108px)

        !important;

    overflow:hidden;

    color:var(--rev-charcoal);

    font-family:var(--rev-font-body);

    /* urutan gradient dibalik dari Gallery (ivory -> light)
       supaya transisi antar section terasa menyambung */
    background:

        radial-gradient(
            circle at 92% 8%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 6% 22%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 16% 92%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            #EAF4FC 0%,
            #F1F8FD 46%,
            #F8FCFF 100%
        )

        !important;
}


/* jika root container memakai mode "Boxed",
   Elementor membuat .e-con-inner — diatur agar ikut flex */

.elementor-754 .elementor-element.elementor-element-4088f0a > .e-con-inner{

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:none!important;

    padding:0!important;
}


/* ============================================================
   02. GLOBAL RESET INSIDE SECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a *,
.elementor-754 .elementor-element.elementor-element-4088f0a *::before,
.elementor-754 .elementor-element.elementor-element-4088f0a *::after{

    box-sizing:border-box;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .e-con,
.elementor-754 .elementor-element.elementor-element-4088f0a .elementor-element,
.elementor-754 .elementor-element.elementor-element-4088f0a .elementor-widget,
.elementor-754 .elementor-element.elementor-element-4088f0a .elementor-widget-container{

    min-width:0;
}


.elementor-754 .elementor-element.elementor-element-4088f0a img,
.elementor-754 .elementor-element.elementor-element-4088f0a iframe{

    max-width:100%;
}


/* ============================================================
   03. TEKSTUR TITIK HALUS
   (mask dibalik ke kanan, cermin dari Gallery)
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-10;

    pointer-events:none;

    opacity:.24;

    background-image:

        radial-gradient(
            rgba(30,143,214,.16) .65px,
            transparent .65px
        );

    background-size:34px 34px;

    -webkit-mask-image:

        linear-gradient(
            245deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );

    mask-image:

        linear-gradient(
            245deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );
}


/* ============================================================
   04. AMBIENT BLUE LIGHT (kiri bawah)
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a::after{

    content:"";

    position:absolute;

    z-index:-9;

    pointer-events:none;

    width:clamp(440px,48vw,760px);

    height:clamp(440px,48vw,760px);

    left:clamp(-360px,-18vw,-180px);

    bottom:clamp(-330px,-15vw,-160px);

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(77,192,255,.20),
            rgba(30,143,214,.06) 43%,
            transparent 70%
        );

    animation:reviewAmbient 12s ease-in-out infinite;
}


@keyframes reviewAmbient{

    0%,100%{
        opacity:.75;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }

}


/* ============================================================
   05. REVIEW HEADER
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-header{

    position:relative;

    z-index:5;

    display:grid!important;

    grid-template-columns:

        minmax(0,1.15fr)
        minmax(320px,.68fr)

        !important;

    align-items:end!important;

    gap:clamp(56px,7vw,125px)!important;

    width:100%!important;

    max-width:var(--rev-max)!important;

    min-width:0;

    margin:0 auto!important;

    padding:0 0 clamp(44px,4.6vw,64px)!important;

    border-bottom:1px solid var(--rev-line);
}


/* ============================================================
   06. ANGKA SECTION "05"
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-header::before{

    content:"05";

    position:absolute;

    right:-4px;
    top:-58px;

    z-index:-2;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--rev-font-display);

    font-size:clamp(80px,8.5vw,138px);

    line-height:1;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.17);

    opacity:.9;
}


/* ============================================================
   07. HEADER LEFT
   v2 : eyebrow TIDAK lagi di sini (bentrok dengan
        overlay ::before milik Container Elementor).
        Eyebrow sekarang ada di blok 08.
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-header-left{

    position:relative;

    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    justify-content:flex-end!important;

    gap:0!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   08. REVIEW TITLE + EYEBROW   (v2 : dirombak)
   Ubah teks eyebrow di baris  content:"..."  di bawah.
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title{

    position:relative;

    /* v2 : grid 2 baris -> eyebrow di atas, judul di bawah */
    display:grid!important;

    grid-template-columns:auto minmax(0,1fr);

    align-items:center;

    column-gap:0;

    row-gap:18px;

    width:100%!important;

    max-width:710px!important;

    margin:0!important;
}


/* v2 : judul (h2 / widget-container) selalu di baris 2,
        selebar penuh */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title > *{

    grid-column:1 / -1;

    grid-row:2;

    min-width:0;
}


/* v2 : EYEBROW BAGIAN 1 — "REVIEWS" biru + garis gradient */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title::before{

    content:"REVIEWS";

    grid-column:1;

    grid-row:1;

    position:relative;

    display:inline-block;

    padding-left:37px;

    color:var(--rev-blue);

    font-family:var(--rev-font-body);

    font-size:11px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.17em;

    text-transform:uppercase;

    white-space:nowrap;

    background:
        linear-gradient(
            90deg,
            var(--rev-sky),
            var(--rev-blue)
        )
        left center / 27px 2px no-repeat;

    pointer-events:none;
}


/* v2 : EYEBROW BAGIAN 2 — "TRIPADVISOR" abu + pemisah */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title::after{

    content:"TRIPADVISOR";

    grid-column:2;

    grid-row:1;

    justify-self:start;

    display:inline-block;

    margin-left:12px;

    padding-left:12px;

    border-left:1px solid rgba(30,143,214,.24);

    color:rgba(16,34,47,.50);

    font-family:var(--rev-font-body);

    font-size:9px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.15em;

    text-transform:uppercase;

    white-space:nowrap;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

    margin:0;

    font-family:var(--rev-font-display);

    font-weight:400;

    font-size:clamp(50px,5.2vw,80px);

    line-height:1.02;

    letter-spacing:-.026em;

    color:var(--rev-navy);
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-title .elementor-heading-title{

    text-wrap:balance;
}


/* bungkus kata dengan <span> di panel Heading
   untuk teks gradient, contoh:
   Loved by <span>travelers</span> */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--rev-sky) 0%,
            var(--rev-blue) 55%,
            var(--rev-blue-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* v2 : garis aksen bawah judul dipindah ke dalam h2 */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-title .elementor-heading-title::after{

    content:"";

    display:block;

    width:64px;
    height:2px;

    margin-top:22px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--rev-sky),
            rgba(77,192,255,.35),
            transparent
        );

    box-shadow:0 2px 12px rgba(77,192,255,.30);

    transition:width .55s var(--rev-ease);
}


@media(hover:hover) and (pointer:fine){

    /* v2 : selektor garis aksen ikut dipindah */
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-header:hover .review-title .elementor-heading-title::after{

        width:125px;
    }

}


/* ============================================================
   09. INTRO WRAP + TEXT EDITOR
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-intro-wrap{

    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    justify-content:flex-end!important;

    align-self:end;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-intro{

    position:relative;

    width:100%!important;

    max-width:470px!important;

    margin:0 0 5px!important;

    padding:0 0 0 22px!important;

    border-left:2px solid var(--rev-sky);
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro p),
.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro span){

    font-family:var(--rev-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.74;

    color:var(--rev-body);
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-intro p:last-child{

    margin-bottom:0;
}


/* ============================================================
   10. REVIEW BODY
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-body{

    position:relative;

    z-index:4;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:var(--rev-max)!important;

    min-width:0;

    margin:clamp(36px,3.8vw,54px) auto 0!important;

    padding:0!important;
}


/* label kecil di atas frame — sama dengan "BALI · INDONESIA" */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-body::before{

    content:"VERIFIED GUEST STORIES";

    position:absolute;

    top:-24px;
    right:0;

    color:rgba(16,34,47,.46);

    font-family:var(--rev-font-body);

    font-size:8.5px;

    font-weight:600;

    line-height:1;

    letter-spacing:.17em;

    pointer-events:none;
}


/* ============================================================
   11. WATERMARK "REVIEWS"
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-body::after{

    content:"REVIEWS";

    position:absolute;

    right:-3px;
    bottom:-62px;

    z-index:-3;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--rev-font-display);

    font-size:clamp(100px,13.5vw,198px);

    line-height:.78;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.8;
}


/* ============================================================
   12. FRAME WIDGET REVIEW (SHORTCODE)
   Frame kaca yang membungkus widget TripAdvisor
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget{

    position:relative;

    z-index:2;

    width:100%!important;

    min-width:0!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container{

    position:relative;

    width:100%!important;

    min-width:0;

    overflow:hidden;

    padding:

        clamp(58px,4.6vw,70px)
        clamp(18px,2.6vw,38px)
        clamp(26px,2.6vw,38px)

        ;

    border:1px solid rgba(30,143,214,.18);

    border-radius:var(--rev-radius);

    background:

        radial-gradient(
            circle at 100% 0%,
            rgba(77,192,255,.12),
            transparent 40%
        ),

        linear-gradient(
            160deg,
            rgba(255,255,255,.88),
            rgba(248,252,255,.72)
        );

    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);

    box-shadow:
        0 24px 52px rgba(4,30,51,.10),
        0 0 0 1px rgba(77,192,255,.10),
        inset 0 1px 0 rgba(255,255,255,.80);

    transition:
        box-shadow .45s ease,
        border-color .4s ease;
}


/* aksen bar gradient di atas frame */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container::before{

    content:"";

    position:absolute;

    z-index:7;

    left:28px;
    top:0;

    width:58px;
    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--rev-sky),
            var(--rev-blue)
        );

    box-shadow:0 2px 12px rgba(77,192,255,.42);

    transition:width .45s var(--rev-ease);
}


/* label pill "05 / GUEST STORIES" */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget::before{

    content:"05 / GUEST STORIES";

    position:absolute;

    z-index:8;

    left:22px;
    top:18px;

    padding:8px 12px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:999px;

    color:rgba(234,247,255,.96);

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.86),
            rgba(4,30,51,.76)
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    font-family:var(--rev-font-body);

    font-size:8px;

    font-weight:600;

    line-height:1;

    letter-spacing:.14em;

    pointer-events:none;
}


/* label kanan atas */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget::after{

    content:"RATED BY TRAVELERS";

    position:absolute;

    z-index:8;

    right:24px;
    top:26px;

    color:rgba(16,34,47,.46);

    font-family:var(--rev-font-body);

    font-size:8.5px;

    font-weight:600;

    line-height:1;

    letter-spacing:.14em;

    pointer-events:none;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget:hover > .elementor-widget-container{

        border-color:rgba(77,192,255,.42);

        box-shadow:
            0 28px 58px rgba(4,30,51,.13),
            0 0 0 3px rgba(77,192,255,.10),
            inset 0 1px 0 rgba(255,255,255,.85);
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget:hover > .elementor-widget-container::before{

        width:110px;
    }

}


/* isi shortcode — font diwariskan Poppins,
   :where() supaya style plugin tetap bisa menimpa */

.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-widget .elementor-shortcode){

    width:100%;

    font-family:var(--rev-font-body);

    color:var(--rev-charcoal);
}


/* jika widget TripAdvisor tampil lewat iframe,
   hanya bingkainya yang bisa distyle dari luar */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget iframe{

    display:block;

    width:100%!important;

    border:0;

    border-radius:16px 4px 16px 16px;
}


/* ============================================================
   13. REVIEW NOTE (HEADING DI BAWAH WIDGET)
   Contoh isi: "Rated 5.0 by our guests on TripAdvisor"
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-note{

    position:relative;

    width:100%!important;

    margin:clamp(26px,2.6vw,36px) 0 0!important;

    text-align:center;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    max-width:100%;

    margin:0;

    text-wrap:balance;
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-note .elementor-heading-title){

    font-family:var(--rev-font-display);

    font-size:clamp(19px,1.6vw,24px);

    font-weight:400;

    font-style:italic;

    line-height:1.35;

    letter-spacing:-.005em;

    color:var(--rev-navy);
}


/* garis gradient kiri & kanan teks */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::before,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::after{

    content:"";

    flex:0 0 auto;

    width:clamp(28px,4vw,54px);

    height:1px;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::before{

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--rev-sky)
        );
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::after{

    background:
        linear-gradient(
            90deg,
            var(--rev-sky),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--rev-sky) 0%,
            var(--rev-blue) 55%,
            var(--rev-blue-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* ============================================================
   ============================================================
   14. TOMBOL BAWAH  —  .review-cta
   (sama dengan .gallery-cta v24, termasuk fix alignment)
   ============================================================
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta{

    position:relative;

    z-index:4;

    width:100%!important;

    margin-top:clamp(30px,3vw,42px)!important;

    text-align:center;
}


/* garis tipis di atas tombol */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta::before{

    content:"";

    position:absolute;

    left:50%;
    top:-16px;

    width:min(320px,64%);
    height:1px;

    transform:translateX(-50%);

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.48),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button{

    position:relative;

    isolation:isolate;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    overflow:hidden;

    box-shadow:
        0 14px 32px rgba(30,143,214,.30),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .40s var(--rev-ease),
        box-shadow .40s var(--rev-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease;
}


/* fix alignment icon & text (wrapper internal Elementor) */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button-content-wrapper{

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:10px;

    width:100%;

    line-height:1;
}


/* tampilan tombol — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button){

    padding:15px 34px;

    min-height:54px;

    border:1px solid rgba(255,255,255,.30);

    border-radius:999px;

    background:
        linear-gradient(
            138deg,
            var(--rev-sky) 0%,
            var(--rev-blue) 56%,
            var(--rev-blue-dark) 100%
        );

    color:#05202F;
}


/* tipografi tombol — selektor normal (0,2,1)
   menang atas Global Font, kalah dari panel per-widget */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button-text{

    font-family:var(--rev-font-body);

    font-size:15px;

    font-weight:600;

    font-style:normal;

    letter-spacing:.015em;

    line-height:1.2;

    text-transform:none;
}


.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button-text{

    display:inline-flex;

    align-items:center;

    margin:0;

    line-height:1;
}


/* ikon dalam lingkaran */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    margin:0;

    transition:
        transform .40s var(--rev-ease),
        background .34s ease;
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button-icon){

    width:30px;

    height:30px;

    border-radius:50%;

    background:rgba(255,255,255,.30);

    color:#FFFFFF;
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button-icon svg){

    width:14px;

    height:14px;

    fill:currentColor;

    display:block;
}


.elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button-icon i){

    font-size:14px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}


/* kilau melintas */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:46%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.20) 24%,
            rgba(255,255,255,.72) 50%,
            rgba(255,255,255,.20) 76%,
            transparent
        );

    transition:left .85s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--rev-sky-light) 0%,
                var(--rev-sky) 52%,
                var(--rev-blue) 100%
            );

        border-color:rgba(255,255,255,.46);

        box-shadow:
            0 22px 46px rgba(77,192,255,.44),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(4px);

        background:rgba(255,255,255,.48);
    }

}


/* ============================================================
   LARGE DESKTOP  >= 1600
============================================================ */

@media(min-width:1600px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        --rev-max:1480px;
    }

}


/* ============================================================
   LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        padding-left:42px!important;

        padding-right:42px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-header{

        grid-template-columns:

            minmax(0,1.1fr)
            minmax(300px,.7fr)

            !important;

        gap:62px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

        font-size:clamp(46px,4.9vw,66px);
    }

}


/* ============================================================
   TABLET  768 - 1024
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        --rev-radius:22px 5px 22px 22px;

        padding:64px 30px 74px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

        font-size:clamp(42px,6.6vw,58px);
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-intro{

        max-width:670px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-body{

        margin-top:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container{

        padding:62px 22px 28px;
    }

}


/* ============================================================
   ============================================================
   MOBILE  <= 767
   ============================================================
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        --rev-radius:18px 4px 18px 18px;

        padding:

            50px
            clamp(17px,5vw,23px)
            40px

            !important;
    }


    /* angka section */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-header::before{

        top:-26px;

        right:0;

        font-size:58px;
    }


    /* watermark dikecilkan & ditarik ke dalam
       supaya tidak membuat ruang kosong */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-body::after{

        right:-2px;

        bottom:-22px;

        font-size:clamp(58px,19vw,86px);

        opacity:.42;
    }


    /* ---------- HEADER ---------- */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:18px!important;

        padding-bottom:28px!important;
    }


    /* v2 : eyebrow mobile */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-title{

        row-gap:12px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-title::before{

        padding-left:29px;

        font-size:9.5px;

        letter-spacing:.15em;

        background-size:20px 2px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-title::after{

        margin-left:8px;

        padding-left:8px;

        font-size:7.5px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

        font-size:clamp(36px,10.5vw,46px);

        line-height:1.05;
    }


    /* v2 : garis aksen bawah judul */
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-title .elementor-heading-title::after{

        width:51px;

        margin-top:14px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-intro{

        max-width:100%!important;

        margin:0!important;

        padding-left:16px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro p),
    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-intro span){

        font-size:15.5px;

        line-height:1.70;
    }


    /* ---------- BODY & FRAME ---------- */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-body{

        margin-top:26px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-body::before{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container{

        padding:54px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container::before{

        left:18px;

        width:44px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget::before{

        left:14px;

        top:14px;

        padding:7px 10px;

        font-size:7px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget::after{

        right:15px;

        top:21px;

        font-size:7px;
    }


    /* ---------- NOTE ---------- */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note{

        margin-top:22px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title{

        gap:10px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-note .elementor-heading-title){

        font-size:clamp(17px,4.8vw,20px);
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::before,
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::after{

        width:22px;
    }


    /* ---------- TOMBOL ---------- */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta{

        margin-top:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta::before{

        top:-13px;

        width:min(220px,72%);
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button{

        width:100%;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button){

        padding:14px 22px;

        min-height:52px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button,
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-cta .elementor-button-text{

        font-size:14.5px;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-cta .elementor-button-icon){

        width:27px;

        height:27px;
    }

}


/* ============================================================
   SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        padding-left:max(17px,env(safe-area-inset-left))!important;

        padding-right:max(17px,env(safe-area-inset-right))!important;

        padding-bottom:36px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

        font-size:clamp(33px,10vw,41px);
    }


    /* label kanan atas frame disembunyikan
       supaya tidak bertabrakan dengan pill */

    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget::after{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container{

        padding:52px 10px 14px;
    }

}


/* ============================================================
   VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-4088f0a{

        padding-top:44px!important;

        padding-bottom:32px!important;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a :where(.review-title .elementor-heading-title){

        font-size:32px;
    }


    /* v2 : layar sangat kecil -> eyebrow cukup "REVIEWS" */
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-title::after{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::before,
    .elementor-754 .elementor-element.elementor-element-4088f0a .review-note .elementor-heading-title::after{

        display:none;
    }

}


/* ============================================================
   ANTI OVERFLOW
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a .review-header,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-header-left,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-intro-wrap,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-intro,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-body,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-widget > .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-note,
.elementor-754 .elementor-element.elementor-element-4088f0a .review-cta{

    min-width:0!important;

    max-width:100%;
}


/* ============================================================
   AKSESIBILITAS
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a a:focus-visible,
.elementor-754 .elementor-element.elementor-element-4088f0a button:focus-visible{

    outline:2px solid var(--rev-sky);

    outline-offset:4px;

    border-radius:8px;
}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-4088f0a *,
    .elementor-754 .elementor-element.elementor-element-4088f0a *::before,
    .elementor-754 .elementor-element.elementor-element-4088f0a *::after,
    .elementor-754 .elementor-element.elementor-element-4088f0a::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   TEXT SELECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-4088f0a ::selection{

    color:var(--rev-navy-dark);

    background:var(--rev-sky);
}


/* ============================================================
   ============================================================
   CATATAN

   1. CSS CLASSES (Advanced > CSS Classes, tanpa titik):
         Container header         -> review-header
         Container kiri (Heading) -> review-header-left
         Heading judul            -> review-title
         Container kanan (Text)   -> review-intro-wrap
         Text Editor              -> review-intro
         Container bawah          -> review-body
         Shortcode TripAdvisor    -> review-widget
         Heading di bawah widget  -> review-note
         Button                   -> review-cta

   2. TEKS DEKORASI (ubah langsung di CSS, baris content:"..."):
         Eyebrow biru   -> blok 08  "REVIEWS"       (v2)
         Eyebrow abu    -> blok 08  "TRIPADVISOR"   (v2)
         Angka section  -> blok 06  "05"
         Label body     -> blok 10  "VERIFIED GUEST STORIES"
         Watermark      -> blok 11  "REVIEWS"
         Pill frame     -> blok 12  "05 / GUEST STORIES"
         Label frame    -> blok 12  "RATED BY TRAVELERS"

   3. TEKS GRADIENT pada judul & note:
      bungkus kata dengan <span> di kolom Title Heading.
      Contoh: Loved by <span>Travelers</span>

   4. Semua tipografi memakai :where() -> tetap bisa
      diatur dari Style > Typography.
      Kalau panel tidak berefek, klik ikon globe di
      sebelah Typography lalu pilih "Custom".

   5. TOMBOL: kosongkan Style > Background & Border di
      panel agar tampilan dari CSS ini yang dipakai.
      Font default Poppins 600 / 15px, panel tetap menang.

   6. CONTAINER: kosongkan Padding, Gap, dan Background di
      panel untuk container root, review-header, dan
      review-body. Semua sudah diatur dari CSS ini.

   7. WIDGET TRIPADVISOR:
      CSS ini menyusun FRAME di sekeliling shortcode.
      - Jika plugin menampilkan review dalam HTML biasa
        (mis. TrustIndex, WP Review Slider), kartu review
        di dalamnya bisa distyle lanjut. Kirimkan nama
        plugin atau screenshot-nya.
      - Jika TripAdvisor tampil lewat IFRAME, isi di dalam
        iframe TIDAK BISA diubah dengan CSS dari luar.
        Hanya bingkainya yang ikut style ini.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-425e7ca *//* ============================================================
   ============================================================
   KAK LUNA BALI TRANS
   AIRPORT TRANSFER — "AZURE ZONES" V2
   (meniru gaya Gallery V24 — class diganti, tanpa angka 04)

   PASTE:
   GALLERY HIGH END (container terluar section ini)
   → Advanced → Custom CSS

   ------------------------------------------------------------
   NAMA CLASS  (sesuai struktur terbaru Anda)
   ------------------------------------------------------------
   GALLERY HIGH END (luar)   -> tempat CSS ini ditempel
     GALLERY SHELL           -> az-shell
       GALLERY HEADER        -> az-header
         GALLERY HEADER LEFT -> az-header-left
           Heading (eyebrow) -> az-eyebrow
           Heading (judul)   -> az-title
         Text Editor         -> az-intro
       Container (isi)       -> az-body
         Container (peta)    -> az-map
           Image             -> tanpa class
         Container (kartu)   -> az-cards
           Icon Box (zona 1) -> az-card
           Icon Box (zona 2) -> az-card
           Icon Box (zona 3) -> az-card
       Button                -> az-cta

   ------------------------------------------------------------
   PERUBAHAN DARI GALLERY V24
   ------------------------------------------------------------
   1. ANGKA "04" DIHAPUS total.
   2. WATERMARK diganti dari "GALLERY" menjadi "ZONES".
   3. EYEBROW label kedua diganti "TRANSFER" (dulu
      "VISUAL JOURNAL").
   4. Bagian foto-arch & carousel Gallery DIGANTI dengan
      bagian PETA + KARTU ZONA sesuai section ini.
   5. Bintang Icon Box diganti TILE GRADASI biru senada
      seluruh situs.

   TIPOGRAFI TIDAK DIKUNCI
   Semua aturan font dibungkus :where() -> panel menang.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca{

    --gal-maroon:#063A5E;
    --gal-maroon-dark:#041E33;

    --gal-red:#1E8FD6;
    --gal-red-dark:#0A5C8F;

    --gal-brick:#0A5C8F;
    --gal-gold:#4DC0FF;

    --gal-sky-light:#8BD8FF;

    --gal-ivory:#EAF4FC;
    --gal-ivory-light:#F8FCFF;

    --gal-blush:#D7ECF9;

    --gal-charcoal:#10222F;
    --gal-white:#FFFFFF;

    --gal-body:rgba(16,34,47,.74);
    --gal-muted:rgba(16,34,47,.56);

    --gal-line:rgba(30,143,214,.20);
    --gal-line-soft:rgba(30,143,214,.10);

    --gal-max:1420px;

    --gal-gap:12px;

    --gal-font-display:"DM Serif Display",Georgia,serif;
    --gal-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --gal-arch:150px 150px 22px 22px;
    --gal-card-radius:20px 4px 20px 20px;

    /* kata watermark — ubah di sini */
    --gal-watermark:"ZONES";

    --gal-ease:cubic-bezier(.22,1,.36,1);


    position:relative;

    isolation:isolate;

    width:100%!important;
    max-width:none!important;

    min-width:0;

    margin:0!important;

    padding:

        clamp(72px,6.5vw,110px)
        clamp(20px,5vw,76px)
        clamp(70px,6.5vw,108px)

        !important;

    overflow:hidden;

    color:var(--gal-charcoal);

    font-family:var(--gal-font-body);

    background:

        radial-gradient(
            circle at 7% 9%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 94% 17%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 84% 90%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            #F8FCFF 0%,
            #F1F8FD 54%,
            #EAF4FC 100%
        )

        !important;
}


/* ============================================================
   02. GLOBAL RESET INSIDE SECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca *,
.elementor-754 .elementor-element.elementor-element-425e7ca *::before,
.elementor-754 .elementor-element.elementor-element-425e7ca *::after{

    box-sizing:border-box;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .e-con,
.elementor-754 .elementor-element.elementor-element-425e7ca .elementor-element,
.elementor-754 .elementor-element.elementor-element-425e7ca .elementor-widget,
.elementor-754 .elementor-element.elementor-element-425e7ca .elementor-widget-container{

    min-width:0;
}


.elementor-754 .elementor-element.elementor-element-425e7ca img{

    max-width:100%;
}


/* ============================================================
   03. TEKSTUR TITIK HALUS
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-10;

    pointer-events:none;

    opacity:.24;

    background-image:

        radial-gradient(
            rgba(30,143,214,.16) .65px,
            transparent .65px
        );

    background-size:34px 34px;

    -webkit-mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );

    mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );
}


/* ============================================================
   04. AMBIENT BLUE LIGHT
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca::after{

    content:"";

    position:absolute;

    z-index:-9;

    pointer-events:none;

    width:clamp(440px,48vw,760px);

    height:clamp(440px,48vw,760px);

    right:clamp(-360px,-18vw,-180px);

    top:clamp(-330px,-15vw,-160px);

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(77,192,255,.20),
            rgba(30,143,214,.06) 43%,
            transparent 70%
        );

    animation:galleryAmbient 12s ease-in-out infinite;
}


@keyframes galleryAmbient{

    0%,100%{
        opacity:.75;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }

}


/* ============================================================
   05. SHELL  —  .az-shell
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-shell{

    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:var(--gal-max)!important;

    min-width:0;

    margin:0 auto!important;

    padding:0!important;
}


/* ============================================================
   06. (ANGKA "04" DIHAPUS di v2)
   Blok .gallery-shell::before dihilangkan sepenuhnya.
============================================================ */


/* ============================================================
   07. WATERMARK  —  ubah lewat --gal-watermark
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-shell::after{

    content:var(--gal-watermark);

    position:absolute;

    left:-3px;
    bottom:-48px;

    z-index:-3;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--gal-font-display);

    font-size:clamp(100px,13.5vw,198px);

    line-height:.78;

    letter-spacing:-.05em;

    white-space:nowrap;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.8;
}


/* ============================================================
   08. HEADER  —  .az-header
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-header{

    position:relative;

    z-index:5;

    display:grid!important;

    grid-template-columns:

        minmax(0,1.15fr)
        minmax(320px,.68fr)

        !important;

    align-items:end!important;

    gap:clamp(56px,7vw,125px)!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0 0 clamp(44px,4.6vw,64px)!important;

    border-bottom:1px solid var(--gal-line);
}


/* ============================================================
   09. HEADER LEFT  —  .az-header-left
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-header-left{

    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    justify-content:flex-end!important;

    gap:0!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   10. EYEBROW  —  .az-eyebrow
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow{

    margin:0 0 16px!important;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title{

    position:relative;

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin:0;

    padding-left:37px;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-eyebrow .elementor-heading-title){

    font-family:var(--gal-font-body);

    font-size:11px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.17em;

    color:var(--gal-red);
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:27px;
    height:2px;

    transform:translateY(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::after{

    content:"TRANSFER";

    margin-left:5px;

    padding-left:12px;

    border-left:1px solid rgba(30,143,214,.24);

    color:rgba(16,34,47,.50);

    font-size:9px;

    font-weight:600;

    letter-spacing:.15em;
}


/* ============================================================
   11. TITLE  —  .az-title
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-title{

    position:relative;

    width:100%!important;

    max-width:710px!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

    margin:0;

    font-family:var(--gal-font-display);

    font-weight:400;

    font-size:clamp(50px,5.2vw,80px);

    line-height:1.02;

    letter-spacing:-.026em;

    color:var(--gal-maroon);
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-title .elementor-heading-title{

    text-wrap:balance;
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis:
   Seamless transfers <span>Across all zones.</span> */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--gal-gold) 0%,
            var(--gal-red) 55%,
            var(--gal-red-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-title::after{

    content:"";

    display:block;

    width:64px;
    height:2px;

    margin-top:22px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            rgba(77,192,255,.35),
            transparent
        );

    box-shadow:0 2px 12px rgba(77,192,255,.30);

    transition:width .55s var(--gal-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-header:hover .az-title::after{

        width:125px;
    }

}


/* ============================================================
   12. INTRO  —  .az-intro
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-intro{

    position:relative;

    align-self:end;

    width:100%!important;

    max-width:470px!important;

    margin:0 0 5px!important;

    padding:0 0 0 22px!important;

    border-left:2px solid var(--gal-gold);
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro p),
.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro span){

    font-family:var(--gal-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.74;

    color:var(--gal-body);
}


/* ============================================================
   13. BODY  —  .az-body
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-body{

    position:relative;

    z-index:4;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    min-width:0;

    margin:clamp(36px,3.8vw,54px) 0 0!important;

    padding:0!important;
}


/* label kecil di atas peta, seperti "BALI · INDONESIA" */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-body::before{

    content:"BALI · INDONESIA";

    position:relative;

    align-self:flex-end;

    margin-bottom:14px;

    color:rgba(16,34,47,.46);

    font-family:var(--gal-font-body);

    font-size:8.5px;

    font-weight:600;

    line-height:1;

    letter-spacing:.17em;

    pointer-events:none;
}


/* ============================================================
   14. PETA  —  .az-map
   (menggantikan gallery-left / arch)
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-map{

    position:relative;

    z-index:2;

    width:100%!important;

    min-width:0!important;

    margin:0!important;

    padding:clamp(16px,2.4vw,32px)!important;

    overflow:hidden;

    border:1px solid transparent;

    border-radius:var(--gal-arch);

    background:

        linear-gradient(
            160deg,
            rgba(255,255,255,.94) 0%,
            rgba(234,244,252,.86) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.55) 0%,
            rgba(30,143,214,.16) 46%,
            rgba(255,255,255,.06) 100%
        ) border-box;

    box-shadow:
        0 24px 52px rgba(4,30,51,.13),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--gal-ease),
        box-shadow .5s var(--gal-ease);
}


/* garis aksen atas bingkai peta */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-map::after{

    content:"";

    position:absolute;

    top:0;
    left:26px;

    z-index:5;

    width:52px;
    height:3px;

    border-radius:0 0 999px 999px;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );

    transition:width .5s var(--gal-ease);
}


/* cahaya biru lembut di belakang peta */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-map::before{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    z-index:0;

    width:62%;
    height:62%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    pointer-events:none;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.16) 0%,
            transparent 68%
        );

    filter:blur(8px);
}


/* gambar peta */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-map .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-map figure,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-map a{

    position:relative;

    z-index:2;

    margin:0!important;

    line-height:0;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-map img{

    display:block;

    width:100%!important;

    height:auto!important;

    margin:0 auto;

    filter:drop-shadow(0 12px 26px rgba(4,30,51,.14));

    transition:transform .7s var(--gal-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map:hover{

        transform:translateY(-3px);

        box-shadow:
            0 30px 60px rgba(4,30,51,.16),
            inset 0 1px 0 rgba(255,255,255,.94);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map:hover::after{

        width:calc(100% - 52px);

        box-shadow:0 2px 14px rgba(77,192,255,.42);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map:hover img{

        transform:scale(1.02);
    }

}


/* ============================================================
   15. WADAH KARTU  —  .az-cards
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cards{

    position:relative;

    z-index:3;

    display:grid!important;

    grid-template-columns:repeat(3,minmax(0,1fr))!important;

    gap:var(--gal-gap)!important;

    width:100%!important;

    min-width:0;

    margin:clamp(28px,3vw,44px) 0 0!important;

    padding:0!important;
}


/* ============================================================
   16. KARTU ZONA  —  .az-card  (Icon Box)
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    transition:
        transform .45s var(--gal-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card){

    padding:24px 22px 26px!important;

    border:1px solid transparent;

    border-radius:var(--gal-card-radius);

    background:

        linear-gradient(
            160deg,
            rgba(255,255,255,.96) 0%,
            rgba(241,248,253,.90) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.66) 0%,
            rgba(30,143,214,.20) 46%,
            rgba(255,255,255,.08) 100%
        ) border-box;

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.88);
}


/* garis aksen atas kartu */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card::after{

    content:"";

    position:absolute;

    top:0;
    left:22px;

    z-index:4;

    width:38px;
    height:3px;

    border-radius:0 0 999px 999px;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );

    transition:
        width .45s var(--gal-ease),
        box-shadow .35s ease;
}


/* spotlight cahaya saat hover */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    background:
        radial-gradient(
            76% 64% at 14% 0%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 46%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .45s ease;
}


/* --------- ISI ICON BOX --------- */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-wrapper{

    position:relative;

    z-index:2;

    display:grid!important;

    grid-template-columns:54px minmax(0,1fr);

    grid-template-rows:auto auto;

    column-gap:16px;

    row-gap:7px;

    align-items:center;

    text-align:left!important;
}


/* tile ikon — mengganti bintang bawaan */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-icon{

    grid-column:1;

    grid-row:1 / 3;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    box-shadow:
        0 12px 26px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .45s var(--gal-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon){

    width:54px;

    height:54px;

    padding:0;

    border:1px solid rgba(255,255,255,.32);

    border-radius:16px 4px 16px 16px;

    color:#FFFFFF;

    background:
        linear-gradient(
            140deg,
            var(--gal-gold) 0%,
            var(--gal-red) 58%,
            var(--gal-red-dark) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon svg){

    width:23px;

    height:23px;

    fill:currentColor;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon i){

    font-size:23px;

    color:#FFFFFF;
}


/* judul zona */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-content{

    display:contents;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-title{

    grid-column:2;

    grid-row:1;

    margin:0!important;

    align-self:end;

    transition:color .35s ease;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon-box-title),
.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon-box-title a){

    font-family:var(--gal-font-display);

    font-weight:400;

    font-size:clamp(19px,1.4vw,23px);

    line-height:1.2;

    letter-spacing:-.008em;

    color:var(--gal-maroon);
}


/* deskripsi zona */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-description{

    grid-column:1 / -1;

    grid-row:3;

    margin:9px 0 0!important;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon-box-description){

    font-family:var(--gal-font-body);

    font-weight:300;

    font-size:14.5px;

    line-height:1.7;

    color:var(--gal-muted);
}


/* --------- HOVER KARTU --------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover{

        transform:translateY(-6px);

        box-shadow:
            0 26px 54px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.92);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover::before{

        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover::after{

        width:calc(100% - 44px);

        box-shadow:0 2px 14px rgba(77,192,255,.42);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover .elementor-icon{

        transform:translateY(-2px) rotate(-5deg) scale(1.06);

        box-shadow:
            0 18px 36px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.50);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover .elementor-icon-box-title{

        color:var(--gal-red);
    }

}


/* ============================================================
   17. TOMBOL  —  .az-cta
   (meniru gallery-cta)
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta{

    position:relative;

    z-index:4;

    width:100%!important;

    margin-top:clamp(24px,2.6vw,38px)!important;

    text-align:center;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta::before{

    content:"";

    position:absolute;

    left:50%;
    top:-16px;

    width:min(320px,64%);
    height:1px;

    transform:translateX(-50%);

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.48),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    overflow:hidden;

    box-shadow:
        0 14px 32px rgba(30,143,214,.30),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .40s var(--gal-ease),
        box-shadow .40s var(--gal-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease;
}


/* alignment ikon & teks (fix dari Gallery v24) */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button-content-wrapper{

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:10px;

    width:100%;

    line-height:1;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button){

    padding:15px 34px;

    min-height:54px;

    border:1px solid rgba(255,255,255,.30);

    border-radius:999px;

    background:
        linear-gradient(
            138deg,
            var(--gal-gold) 0%,
            var(--gal-red) 56%,
            var(--gal-red-dark) 100%
        );

    color:#05202F;
}


/* tipografi tombol — selektor (0,2,1), panel tetap menang */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button-text{

    font-family:var(--gal-font-body);

    font-size:15px;

    font-weight:600;

    font-style:normal;

    letter-spacing:.015em;

    line-height:1.2;

    text-transform:none;
}


.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button-text{

    display:inline-flex;

    align-items:center;

    margin:0;

    line-height:1;
}


/* ikon dalam lingkaran */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    margin:0;

    transition:
        transform .40s var(--gal-ease),
        background .34s ease;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button-icon){

    width:30px;

    height:30px;

    border-radius:50%;

    background:rgba(255,255,255,.30);

    color:#FFFFFF;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button-icon svg){

    width:14px;

    height:14px;

    fill:currentColor;

    display:block;
}


.elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button-icon i){

    font-size:14px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}


/* kilau melintas */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:46%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.20) 24%,
            rgba(255,255,255,.72) 50%,
            rgba(255,255,255,.20) 76%,
            transparent
        );

    transition:left .85s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--gal-sky-light) 0%,
                var(--gal-gold) 52%,
                var(--gal-red) 100%
            );

        border-color:rgba(255,255,255,.46);

        box-shadow:
            0 22px 46px rgba(77,192,255,.44),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(4px);

        background:rgba(255,255,255,.48);
    }

}


/* ============================================================
   LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-754 .elementor-element.elementor-element-425e7ca{

        --gal-arch:130px 130px 20px 20px;

        padding-left:42px!important;

        padding-right:42px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-header{

        grid-template-columns:

            minmax(0,1.1fr)
            minmax(300px,.7fr)

            !important;

        gap:62px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

        font-size:clamp(46px,4.9vw,66px);
    }

}


/* ============================================================
   TABLET  768 - 1024
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-425e7ca{

        --gal-arch:120px 120px 18px 18px;

        --gal-card-radius:18px 4px 18px 18px;

        padding:64px 30px 74px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

        font-size:clamp(44px,6.6vw,58px);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-intro{

        max-width:670px!important;
    }


    /* kartu jadi 2 kolom (kartu ke-3 turun) */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cards{

        grid-template-columns:repeat(2,minmax(0,1fr))!important;

        gap:10px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card){

        padding:20px 18px 22px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-wrapper{

        grid-template-columns:50px minmax(0,1fr);

        column-gap:14px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon){

        width:50px;

        height:50px;
    }

}


/* ============================================================
   MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-425e7ca{

        --gal-arch:100px 100px 16px 16px;

        --gal-card-radius:16px 4px 16px 16px;

        padding:

            50px
            clamp(17px,5vw,23px)
            34px

            !important;
    }


    /* watermark dikecilkan */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-shell::after{

        left:-2px;

        bottom:-14px;

        font-size:clamp(58px,19vw,86px);

        opacity:.42;
    }


    /* ---------- HEADER ---------- */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:18px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow{

        margin-bottom:11px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title{

        padding-left:29px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-eyebrow .elementor-heading-title){

        font-size:9.5px;

        letter-spacing:.15em;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::before{

        width:20px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::after{

        font-size:7.5px;

        margin-left:2px;

        padding-left:8px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

        font-size:clamp(36px,10.5vw,46px);

        line-height:1.05;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-title::after{

        width:51px;

        margin-top:14px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-intro{

        max-width:100%!important;

        margin:0!important;

        padding-left:16px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro p),
    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-intro span){

        font-size:15.5px;

        line-height:1.70;
    }


    /* ---------- PETA ---------- */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map{

        padding:14px!important;

        border-radius:20px 5px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map::after{

        left:16px;

        width:34px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-body::before{

        display:none;
    }


    /* ---------- KARTU jadi 1 kolom ---------- */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cards{

        grid-template-columns:1fr!important;

        gap:11px!important;

        margin-top:24px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card){

        padding:19px 17px 21px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card::after{

        left:17px;

        width:32px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-wrapper{

        grid-template-columns:48px minmax(0,1fr);

        column-gap:13px;

        row-gap:5px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon){

        width:48px;

        height:48px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon svg){

        width:21px;

        height:21px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-description{

        margin-top:8px!important;
    }


    /* ---------- TOMBOL ---------- */

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta{

        margin-top:20px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta::before{

        top:-12px;

        width:min(220px,72%);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-cta .elementor-button{

        width:100%;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button){

        padding:14px 22px;

        min-height:52px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-cta .elementor-button-icon){

        width:27px;

        height:27px;
    }

}


/* ============================================================
   SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-425e7ca{

        --gal-arch:88px 88px 14px 14px;

        padding-left:max(17px,env(safe-area-inset-left))!important;

        padding-right:max(17px,env(safe-area-inset-right))!important;

        padding-bottom:30px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

        font-size:clamp(33px,10vw,41px);
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::after{

        content:"AIRPORT";
    }

}


/* ============================================================
   VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-425e7ca{

        padding-top:44px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-title .elementor-heading-title){

        font-size:32px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-eyebrow .elementor-heading-title::after{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card .elementor-icon-box-wrapper{

        grid-template-columns:42px minmax(0,1fr);

        column-gap:11px;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca :where(.az-card .elementor-icon){

        width:42px;

        height:42px;
    }

}


/* ============================================================
   TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map img{

        transform:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-425e7ca .az-card:hover,
    .elementor-754 .elementor-element.elementor-element-425e7ca .az-map:hover{

        transform:none;
    }

}


/* ============================================================
   ANTI OVERFLOW
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca .az-header,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-header-left,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-intro,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-body,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-map,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-cards,
.elementor-754 .elementor-element.elementor-element-425e7ca .az-card{

    min-width:0!important;

    max-width:100%;
}


/* ============================================================
   AKSESIBILITAS
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca a:focus-visible,
.elementor-754 .elementor-element.elementor-element-425e7ca button:focus-visible{

    outline:2px solid var(--gal-gold);

    outline-offset:4px;

    border-radius:8px;
}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-425e7ca *,
    .elementor-754 .elementor-element.elementor-element-425e7ca *::before,
    .elementor-754 .elementor-element.elementor-element-425e7ca *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   TEXT SELECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-425e7ca ::selection{

    color:var(--gal-maroon-dark);

    background:var(--gal-gold);
}


/* ============================================================
   ============================================================
   CATATAN PEMASANGAN

   1. Container terluar (GALLERY HIGH END)
      Style > Background : KOSONGKAN
      Padding sudah diatur CSS (blok 01)

   2. az-header, az-header-left : layout sudah dari CSS
      (grid). Tidak perlu atur lebar kolom manual.

   3. az-body
      Direction = Column (default), CSS mengaturnya.

   4. az-map
      Style > Background : KOSONGKAN
      Advanced > Padding : KOSONGKAN
      (bingkai kaca sudah dari CSS)

   5. az-cards
      Layout dari CSS (grid 3 kolom desktop, 2 tablet,
      1 mobile). Tidak perlu atur Width kartu manual.

   6. Tiap az-card (Icon Box)
      Style > Icon > Primary Color : transparent
      (bintang diganti tile gradasi biru; kalau ingin
       tetap bintang, hapus blok tile ikon di bagian 16)

   7. Widget Button (az-cta)
      Content > Icon Position : After
      Style > Background & Border : KOSONGKAN

   ------------------------------------------------------------
   JUDUL BERGRADASI
   Di editor Heading az-title tulis:
       Seamless transfers <span>Across all zones.</span>

   ------------------------------------------------------------
   WARNA ZONA PADA GAMBAR PETA (hijau/biru/oranye) tetap
   apa adanya karena bagian dari file gambar. Kalau ingin
   serba biru, gambar petanya diedit terpisah.

   ------------------------------------------------------------
   FONT semua elemen : Style > Typography per widget.
   Kata watermark : --gal-watermark (blok 01).
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2adb09f */.custom-tour-section {
  background: #E5F5FF; /* fallback kalau gradient gagal */
  background: linear-gradient(
    110deg,
    #E5F5FF 0%,
    #F8FCFF 50%,
    #DFF2FF 100%
  );
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-be0297e *//* =========================================================
   =========================================================
   PUTU BALI TOUR — TABS
   "AZURE RAIL" V14

   DIPASANG DI:
   Container yang membungkus widget Tabs
   Advanced > Custom CSS

   FILE INI MENGGANTIKAN SELURUH CSS TABS LAMA.

   ---------------------------------------------------------
   KONSEP BARU v14 — beda total dari versi sebelumnya
   ---------------------------------------------------------
   LAMA : bar terang + kartu putih + sayap garis emas kiri-kanan
   BARU : kapsul navy gelap (dark rail), tab berupa teks ghost,
          tab aktif jadi pil biru menyala dengan beam cahaya
          di atasnya dan titik status di bawah.

   - Sayap garis kiri-kanan DIHAPUS, diganti bracket sudut
     tipis di ujung rail.
   - Tab aktif punya: beam cahaya vertikal, halo berdenyut,
     dan garis dasar yang menyala.
   - Hover: teks naik, glow biru menyebar dari bawah.
   - Tablet : grid 2 kolom, rapi dan tidak berdesakan.
   - Mobile : tumpuk 1 baris per tab dengan pita aksen kiri.

   TIPOGRAFI
   font-family & font-size TIDAK dikunci !important,
   jadi tetap bisa diatur dari Elementor > Style > Typography.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e{

    /* nama variabel lama dipertahankan agar tidak ada
       aturan yang putus */

    --pt-maroon:#063A5E;      /* Navy        */
    --pt-red:#1E8FD6;         /* Azure       */
    --pt-red-dark:#0A5C8F;    /* Ocean       */
    --pt-brick:#0A5C8F;
    --pt-gold:#4DC0FF;        /* Sky — aksen */

    --pt-sky-light:#8BD8FF;
    --pt-navy-deep:#041E33;

    --pt-ivory:#EAF4FC;
    --pt-blush:#D7ECF9;
    --pt-text:#10222F;
    --pt-white:#FFFFFF;

    /* font default — bisa ditimpa panel Elementor */
    --pt-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;
    --pt-font-display:"DM Serif Display",Georgia,serif;

    --pt-ease:cubic-bezier(.22,.72,.2,1);

    position:relative;
}


/* =========================================================
   =========================================================
   02. RAIL — wadah tab

   Berlaku untuk Tabs klasik (.elementor-tabs-wrapper)
   dan Nested Tabs (.e-n-tabs-heading) sekaligus.
   =========================================================
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading{

    position:relative;

    display:flex !important;

    align-items:center;
    justify-content:center;

    gap:8px;

    width:max-content;
    max-width:100%;

    margin-inline:auto;

    padding:8px !important;

    overflow:visible;

    isolation:isolate;

    /* v14 : kapsul navy gelap */
    border:1px solid rgba(77,192,255,.22) !important;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.94) 0%,
            rgba(4,30,51,.96) 55%,
            rgba(10,92,143,.92) 100%
        ) !important;

    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);

    box-shadow:
        0 18px 44px rgba(4,30,51,.30),
        inset 0 1px 0 rgba(255,255,255,.10),
        inset 0 -1px 0 rgba(77,192,255,.10);
}


/* ---------------------------------------------------------
   v14 : bracket sudut tipis — pengganti sayap garis lama
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::before,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::before{

    content:"";

    position:absolute;

    left:-9px;
    top:50%;

    width:18px;
    height:44%;

    transform:translateY(-50%);

    border-left:2px solid rgba(77,192,255,.65);
    border-top:2px solid rgba(77,192,255,.28);
    border-bottom:2px solid rgba(77,192,255,.28);

    border-radius:12px 0 0 12px;

    box-shadow:-6px 0 20px -8px rgba(77,192,255,.55);

    pointer-events:none;

    animation:ptBracketPulse 4.2s ease-in-out infinite;
}


.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::after,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::after{

    content:"";

    position:absolute;

    right:-9px;
    top:50%;

    width:18px;
    height:44%;

    transform:translateY(-50%);

    border-right:2px solid rgba(77,192,255,.65);
    border-top:2px solid rgba(77,192,255,.28);
    border-bottom:2px solid rgba(77,192,255,.28);

    border-radius:0 12px 12px 0;

    box-shadow:6px 0 20px -8px rgba(77,192,255,.55);

    pointer-events:none;

    animation:ptBracketPulse 4.2s ease-in-out infinite;
}


@keyframes ptBracketPulse{

    0%,100%{
        opacity:.55;
        transform:translateY(-50%) scaleY(.92);
    }

    50%{
        opacity:1;
        transform:translateY(-50%) scaleY(1);
    }

}


/* =========================================================
   03. TAB ITEM — teks ghost di atas rail gelap
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title{

    position:relative !important;

    flex:0 0 auto;

    min-width:0;

    display:flex !important;

    align-items:center;
    justify-content:center;

    padding:14px 30px !important;

    overflow:hidden;

    isolation:isolate;

    cursor:pointer;

    border:1px solid transparent !important;

    border-radius:999px !important;

    background:transparent !important;

    color:rgba(207,235,251,.78) !important;

    box-shadow:none;

    transform:translateY(0);

    transition:
        color .30s ease,
        background .38s var(--pt-ease),
        border-color .32s ease,
        transform .40s var(--pt-ease),
        box-shadow .40s var(--pt-ease) !important;
}


/* teks tab — default saja, silakan timpa dari Elementor */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title a,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title-text{

    font-family:var(--pt-font-body);

    font-size:15px;

    font-weight:500;

    letter-spacing:.012em;

    line-height:1.2;

    color:inherit;
}


/* ---------------------------------------------------------
   04. GLOW BAWAH — muncul dari dasar tab saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title::before,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title::before{

    content:"";

    position:absolute;

    left:50%;
    bottom:0;

    width:78%;
    height:100%;

    z-index:-1;

    transform:translateX(-50%) translateY(38%);

    border-radius:999px;

    background:
        radial-gradient(
            ellipse at 50% 100%,
            rgba(77,192,255,.50) 0%,
            rgba(77,192,255,.14) 42%,
            transparent 70%
        );

    opacity:0;

    pointer-events:none;

    transition:
        opacity .38s ease,
        transform .45s var(--pt-ease);
}


/* ---------------------------------------------------------
   05. GARIS DASAR — indikator halus
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title::after,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:8px;

    width:0;
    height:2px;

    transform:translateX(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pt-gold),
            #FFFFFF,
            var(--pt-gold),
            transparent
        );

    opacity:0;

    pointer-events:none;

    transition:
        width .45s var(--pt-ease),
        opacity .30s ease;
}


/* =========================================================
   06. HOVER
   ========================================================= */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:hover,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:hover{

        color:#FFFFFF !important;

        background:rgba(77,192,255,.10) !important;

        border-color:rgba(77,192,255,.30) !important;

        transform:translateY(-3px);
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:hover::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:hover::before{

        opacity:1;

        transform:translateX(-50%) translateY(26%);
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:hover::after,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:hover::after{

        width:40%;

        opacity:.85;
    }

}


/* =========================================================
   =========================================================
   07. TAB AKTIF — pil biru menyala
   =========================================================
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active,
.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"],
.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active:hover,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"],
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"]:hover{

    color:#04222F !important;

    background:
        linear-gradient(
            140deg,
            #8BD8FF 0%,
            #4DC0FF 46%,
            #1E8FD6 100%
        ) !important;

    border-color:rgba(255,255,255,.45) !important;

    transform:translateY(-2px);

    box-shadow:
        0 14px 30px rgba(77,192,255,.42),
        inset 0 1px 0 rgba(255,255,255,.55) !important;

    animation:ptActiveHalo 3.6s ease-in-out infinite;
}


/* teks tab aktif sedikit lebih tebal */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active a,
.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"] a,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active .e-n-tab-title-text{

    font-weight:600;
}


/* ---------------------------------------------------------
   08. BEAM CAHAYA di atas tab aktif
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active::before,
.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"]::before,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"]::before,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active::before{

    opacity:1;

    top:-1px;
    bottom:auto;

    width:56%;
    height:150%;

    transform:translateX(-50%) translateY(-56%);

    background:
        linear-gradient(
            180deg,
            rgba(139,216,255,.85) 0%,
            rgba(77,192,255,.28) 38%,
            transparent 72%
        );

    filter:blur(5px);

    animation:ptBeamFlicker 3.2s ease-in-out infinite;
}


/* ---------------------------------------------------------
   09. TITIK STATUS di bawah tab aktif
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active::after,
.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"]::after,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"]::after,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active::after{

    width:6px;
    height:6px;

    bottom:6px;

    border-radius:50%;

    background:#04222F;

    box-shadow:0 0 0 3px rgba(4,34,47,.14);

    opacity:.85;
}


/* =========================================================
   10. ANIMASI
   ========================================================= */

@keyframes ptActiveHalo{

    0%,100%{
        box-shadow:
            0 14px 30px rgba(77,192,255,.38),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

    50%{
        box-shadow:
            0 18px 38px rgba(77,192,255,.56),
            inset 0 1px 0 rgba(255,255,255,.62);
    }

}


@keyframes ptBeamFlicker{

    0%,100%{
        opacity:.72;
    }

    50%{
        opacity:1;
    }

}


/* =========================================================
   11. ISI TAB
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-content,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-content > *{

    border:none !important;

    animation:
        ptContentReveal .55s var(--pt-ease) both;
}


@keyframes ptContentReveal{

    from{
        opacity:0;
        transform:translateY(14px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* =========================================================
   =========================================================
   12. TABLET  (768 - 1024)
   Rail melebar penuh, tab dibagi grid 2 kolom
   =========================================================
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading{

        display:grid !important;

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:8px;

        width:100%;

        max-width:560px;

        padding:9px !important;

        border-radius:26px;
    }


    /* bracket dipindah ke sudut atas-bawah agar tetap pas */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::before{

        left:-8px;
        top:50%;

        height:38%;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::after,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::after{

        right:-8px;
        top:50%;

        height:38%;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title{

        width:100%;

        padding:13px 18px !important;

        border-radius:18px !important;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title a,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title-text{

        font-size:14px;
    }


    /* kalau jumlah tab ganjil, tab terakhir melebar penuh */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:last-child:nth-child(odd),
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:last-child:nth-child(odd){

        grid-column:1 / -1;
    }

}


/* =========================================================
   =========================================================
   13. MOBILE  (<= 767px)
   1 tab = 1 baris, dengan pita aksen di sisi kiri
   =========================================================
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading{

        display:flex !important;

        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        width:100% !important;
        max-width:none;

        gap:8px !important;

        padding:9px !important;

        border-radius:22px;

        overflow:visible !important;
    }


    /* bracket disembunyikan, ruang dipakai tab */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper::after,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading::after{

        display:none !important;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title{

        width:100% !important;

        min-width:0 !important;
        max-width:100% !important;

        flex:0 0 auto !important;

        justify-content:flex-start !important;

        padding:14px 18px 14px 22px !important;

        margin:0 !important;

        text-align:left !important;

        border-radius:15px !important;

        background:rgba(255,255,255,.07) !important;

        border-color:rgba(77,192,255,.16) !important;

        transform:none !important;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title a,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title-text{

        font-size:14.5px;
    }


    /* pita aksen kiri — menggantikan glow bawah */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title::before{

        left:9px;
        bottom:auto;
        top:50%;

        width:3px;
        height:44%;

        transform:translateY(-50%);

        border-radius:999px;

        background:rgba(77,192,255,.35);

        filter:none;

        opacity:1;

        animation:none !important;
    }


    /* garis dasar tidak dipakai di mobile */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title::after,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title::after{

        display:none;
    }


    /* TAB AKTIF — mobile */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active,
    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"],
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"],
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active{

        color:#04222F !important;

        background:
            linear-gradient(
                120deg,
                #8BD8FF 0%,
                #4DC0FF 52%,
                #1E8FD6 100%
            ) !important;

        border-color:rgba(255,255,255,.40) !important;

        box-shadow:
            0 10px 22px rgba(77,192,255,.34),
            inset 0 1px 0 rgba(255,255,255,.50) !important;

        transform:none !important;

        animation:none !important;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title.elementor-active::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title[aria-selected="true"]::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title[aria-selected="true"]::before,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title.e-active::before{

        left:9px;
        top:50%;

        width:3px;
        height:56%;

        transform:translateY(-50%);

        background:#04222F;

        box-shadow:0 0 10px rgba(4,34,47,.25);

        filter:none;

        opacity:.85;

        animation:none !important;
    }


    /* hover dimatikan di layar sentuh */

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:hover,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:hover{

        transform:none !important;
    }

}


/* =========================================================
   14. VERY SMALL MOBILE  (<= 400px)
   ========================================================= */

@media(max-width:400px){

    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tabs-wrapper,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tabs-heading{

        gap:7px !important;

        padding:8px !important;

        border-radius:19px;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title{

        padding:12px 15px 12px 20px !important;

        border-radius:13px !important;
    }


    .elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title a,
    .elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title-text{

        font-size:13.5px;
    }

}


/* =========================================================
   15. FOKUS KEYBOARD
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-be0297e .elementor-tab-title:focus-visible,
.elementor-754 .elementor-element.elementor-element-be0297e .e-n-tab-title:focus-visible{

    outline:2px solid var(--pt-gold);

    outline-offset:3px;
}


/* =========================================================
   16. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-be0297e *,
    .elementor-754 .elementor-element.elementor-element-be0297e *::before,
    .elementor-754 .elementor-element.elementor-element-be0297e *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   CATATAN PEMAKAIAN

   1. font-family dan font-size TIDAK dikunci.
      Atur dari: widget Tabs > Style > Typography.
      Yang masih memakai !important hanya background,
      border, dan color — itu wajib karena Elementor
      menulis warna tab dengan spesifisitas tinggi.

   2. Untuk mengubah semua warna sekaligus, edit hex
      di blok "01. PUSAT KENDALI" paling atas.

   3. Rail berwarna gelap. Kalau section di belakangnya
      juga gelap dan kurang kontras, ganti nilai background
      pada blok 02 menjadi versi terang:
         rgba(255,255,255,.86) ... rgba(234,244,252,.78)
      lalu ubah warna teks tab non-aktif di blok 03
      menjadi rgba(16,34,47,.72).

   4. Kalau tab aktif tidak ikut berubah, berarti widget
      Tabs punya pengaturan Background/Color sendiri di
      Style > Tabs. Set ke transparent/none agar CSS ini
      yang berlaku.
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c2d37a2 */.elementor-754 .elementor-element.elementor-element-c2d37a2 {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    text-overflow: ellipsis !important;
    max-width: 100ch !important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3 !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-35d5bce *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-35d5bce {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-35d5bce .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8abf970 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-8abf970 *,
.elementor-754 .elementor-element.elementor-element-8abf970 *::before,
.elementor-754 .elementor-element.elementor-element-8abf970 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-8abf970,
.elementor-754 .elementor-element.elementor-element-8abf970 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-8abf970::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-8abf970::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-8abf970:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-8abf970:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-8abf970{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-8abf970{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-8abf970 *,
    .elementor-754 .elementor-element.elementor-element-8abf970 *::before,
    .elementor-754 .elementor-element.elementor-element-8abf970 *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-8abf970 .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-af4ac04 */.elementor-754 .elementor-element.elementor-element-af4ac04 {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    text-overflow: ellipsis !important;
    max-width: 100ch !important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3 !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-6dc781e *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-6dc781e {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-6dc781e .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f6e5140 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-f6e5140 *,
.elementor-754 .elementor-element.elementor-element-f6e5140 *::before,
.elementor-754 .elementor-element.elementor-element-f6e5140 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-f6e5140,
.elementor-754 .elementor-element.elementor-element-f6e5140 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f6e5140::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f6e5140::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-f6e5140{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-f6e5140{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-f6e5140 *,
    .elementor-754 .elementor-element.elementor-element-f6e5140 *::before,
    .elementor-754 .elementor-element.elementor-element-f6e5140 *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-f6e5140 .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4fbb53e */.elementor-754 .elementor-element.elementor-element-4fbb53e {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    text-overflow: ellipsis !important;
    max-width: 100ch !important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3 !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-ec9a98d *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-ec9a98d {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-ec9a98d .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7ea95be *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-7ea95be *,
.elementor-754 .elementor-element.elementor-element-7ea95be *::before,
.elementor-754 .elementor-element.elementor-element-7ea95be *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-7ea95be,
.elementor-754 .elementor-element.elementor-element-7ea95be > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-7ea95be::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-7ea95be::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-7ea95be{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-7ea95be{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-7ea95be *,
    .elementor-754 .elementor-element.elementor-element-7ea95be *::before,
    .elementor-754 .elementor-element.elementor-element-7ea95be *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-7ea95be .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-5ec072a *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-5ec072a {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-5ec072a .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64dd106 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-64dd106 *,
.elementor-754 .elementor-element.elementor-element-64dd106 *::before,
.elementor-754 .elementor-element.elementor-element-64dd106 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-64dd106,
.elementor-754 .elementor-element.elementor-element-64dd106 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-64dd106::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-64dd106::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-64dd106:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-64dd106:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-64dd106{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-64dd106{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-64dd106 *,
    .elementor-754 .elementor-element.elementor-element-64dd106 *::before,
    .elementor-754 .elementor-element.elementor-element-64dd106 *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-64dd106 .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1cbc693 */.elementor-754 .elementor-element.elementor-element-1cbc693 {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    text-overflow: ellipsis !important;
    max-width: 100ch !important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3 !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-2848a0d *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-2848a0d {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-2848a0d .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40872cf *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-40872cf *,
.elementor-754 .elementor-element.elementor-element-40872cf *::before,
.elementor-754 .elementor-element.elementor-element-40872cf *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-40872cf,
.elementor-754 .elementor-element.elementor-element-40872cf > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-40872cf::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-40872cf::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-40872cf:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-40872cf:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-40872cf{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-40872cf{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-40872cf *,
    .elementor-754 .elementor-element.elementor-element-40872cf *::before,
    .elementor-754 .elementor-element.elementor-element-40872cf *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-40872cf .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-bc046a2 */.elementor-754 .elementor-element.elementor-element-bc046a2 {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    text-overflow: ellipsis !important;
    max-width: 100ch !important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3 !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-ff56cf6 *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-754 .elementor-element.elementor-element-ff56cf6 {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 99px !important;
  
  background: var(--badge-soft) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(77, 192, 255, 0.25) !important;
  
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1) !important;
  box-shadow: 0 2px 8px rgba(77, 192, 255, 0.08);
}

.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--badge-brand) !important;
  font-size: 13px !important;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-text {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--badge-brand) !important;
  letter-spacing: 0.2px;
  line-height: 1 !important;
}

/* Hover Effect */
:hover > .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item:hover {
  background: var(--badge-brand) !important;
  border-color: var(--badge-brand) !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(77, 192, 255, 0.35);
}

:hover > .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-text,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item:hover .elementor-icon-list-icon {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.15);
  animation: bluePinBounce 0.6s ease infinite alternate;
}

:hover > .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon i,
:hover > .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon svg,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

@keyframes bluePinBounce {
  0% { transform: translateY(0) scale(1.1); }
  100% { transform: translateY(-3px) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-item,
  .elementor-754 .elementor-element.elementor-element-ff56cf6 .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f5ace74 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — LOOP ITEM PACKAGE CARD
   "AZURE CARD" V19  (UNLOCKED + IMAGE FIX FINAL)

   DIPASANG DI:
   Container PEMBUNGKUS UTAMA loop item
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V15 TERKUNCI
   ---------------------------------------------------------
   Bukan hanya karena !important.
   Selektor seperti:

       .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-title .elementor-heading-title

   punya spesifisitas LEBIH TINGGI daripada CSS yang ditulis
   Elementor dari panel Style. Jadi walaupun !important
   dihapus, CSS ini tetap menang dan panel tidak berefek.

   ---------------------------------------------------------
   SOLUSI DI V16
   ---------------------------------------------------------
   Semua aturan FONT, UKURAN, WEIGHT, dan WARNA TEKS
   dibungkus :where().

       .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title .elementor-heading-title)

   :where() membuat spesifisitas isinya menjadi NOL,
   sehingga panel Elementor SELALU menang.

   Artinya:
   - Nilai di file ini hanya tampilan awal (default).
   - Begitu Anda atur Typography / Text Color di panel,
     pengaturan panel langsung berlaku.
   - Tidak perlu menyentuh CSS sama sekali.

   Yang masih memakai !important hanya hal STRUKTURAL
   (display, position badge, tinggi divider) karena
   Elementor menulisnya dengan spesifisitas tinggi dan
   kalau tidak dipaksa, layout kartu akan rusak.
   Itu tidak ada hubungannya dengan font.

   ---------------------------------------------------------
   PERBAIKAN v17 — FOTO TIDAK SAMA & TIDAK FULL
   ---------------------------------------------------------
   MASALAH:
   Di desktop tinggi foto berbeda-beda antar kartu.
   Di mobile ada foto yang mengecil dan tidak penuh
   kiri-kanan.

   PENYEBAB:
   Elementor TIDAK menaruh <img> langsung di dalam
   .elementor-widget-container. Strukturnya bertingkat:

       .elementor-widget-container
         > a  (kalau gambar diberi link)
           > img

   atau

       .elementor-widget-container
         > figure.wp-caption
           > img

   CSS lama hanya mengatur .elementor-widget-container
   (aspect-ratio) dan img (height:100%).
   Tapi <a> dan <figure> di tengahnya TIDAK diatur, jadi
   tingginya auto. Akibatnya img yang diminta height:100%
   menghitung 100% dari elemen auto = mengikuti ukuran
   asli foto. Foto potret jadi memanjang, foto kecil
   jadi tidak penuh.

   Itu juga sebabnya hanya SEBAGIAN kartu yang bermasalah:
   yang gambarnya diberi link punya <a>, yang tidak, tidak.

   SOLUSI v17:
   1. Semua pembungkus di antara container dan img
      (a, figure, div, .elementor-image, span)
      dipaksa block, width & height 100%.
   2. <img> dibuat position:absolute inset:0 sehingga
      SELALU memenuhi kotak rasio, berapa pun tingkat
      pembungkusnya dan apa pun ukuran foto aslinya.
   3. Rasio dipaksa dengan !important agar setting
      Height individual per widget tidak bisa merusaknya.

   ---------------------------------------------------------
   PERBAIKAN v18 — GAMBAR HILANG DI v17
   ---------------------------------------------------------
   MASALAH:
   Setelah v17 dipasang, foto malah HILANG sama sekali.

   PENYEBAB (kesalahan saya di v17):
   Aturan pembungkus ditulis terlalu luas:

       .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image div { height:100% !important; }

   .elementor-widget-container ITU SENDIRI adalah <div>
   di dalam .pkg-card-image. Jadi aturan itu ikut mengenai
   kotak rasionya, memaksa height:100% dan MENIMPA
   height:auto + aspect-ratio.

   Karena .pkg-card-image tidak punya tinggi tetap,
   100% dari nol = nol. Kotak foto jadi setinggi 0px
   dan gambar lenyap.

   SOLUSI v18:
   Aturan pembungkus dipersempit agar HANYA mengenai
   elemen DI DALAM kotak rasio, bukan kotaknya sendiri:

       .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image .elementor-widget-container
       :is(a,figure,div,span,picture)

   Kotak rasio kini aman, pembungkus tetap terisi penuh,
   dan foto kembali muncul dengan ukuran seragam.

   ---------------------------------------------------------
   PERBAIKAN v19 — FOTO CUMA SETIPIS GARIS
   ---------------------------------------------------------
   MASALAH:
   Foto muncul, tapi hanya setinggi beberapa piksel.

   PENYEBAB:
   aspect-ratio dipasang di .elementor-widget-container.
   Elemen itu TIDAK selalu menjadi anak langsung, karena
   tergantung di mana class pkg-card-image dipasang:

     - kalau dipasang di WIDGET Image:
         .pkg-card-image > .elementor-widget-container > img
     - kalau dipasang di CONTAINER pembungkus:
         .pkg-card-image > .elementor-widget-image
             > .elementor-widget-container > img

   Pada kasus kedua, selektor anak langsung ( > ) tidak
   cocok, sehingga kotak rasio tidak pernah terbentuk dan
   tinggi jatuh ke isi seadanya.

   SOLUSI v19 — pendekatan paling aman:
   RASIO DIPINDAH KE .pkg-card-image ITU SENDIRI.
   Elemen ini pasti ada, karena class-nya Anda yang pasang.

   Lalu SELURUH isinya (widget, container, a, figure,
   picture, img) dibuat position:absolute inset:0,
   sehingga apa pun tingkat pembungkusnya, semuanya
   memenuhi kotak rasio yang sama.

   Gradasi dan efek sheen dipindah ke pseudo-element
   .pkg-card-image agar tidak ikut tertimpa aturan isi.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74{

    --pc-sky:#4DC0FF;
    --pc-sky-light:#8BD8FF;
    --pc-azure:#1E8FD6;
    --pc-ocean:#0A5C8F;
    --pc-navy:#063A5E;
    --pc-navy-dark:#041E33;

    --pc-ice:#F8FCFF;
    --pc-mist:#EAF4FC;
    --pc-white:#FFFFFF;

    --pc-text:#10222F;
    --pc-muted:rgba(16,34,47,.70);
    --pc-soft:rgba(16,34,47,.54);

    --pc-line:rgba(30,143,214,.20);

    /* font default — panel Elementor bisa menimpanya */
    --pc-font-display:"DM Serif Display",Georgia,serif;
    --pc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pc-radius:22px 6px 22px 22px;

    --pc-ease:cubic-bezier(.2,.75,.2,1);

    /* jumlah baris maksimal — ubah angka atau isi "none"
       kalau tidak mau dipotong sama sekali */
    --pc-title-lines:2;
    --pc-desc-lines:3;


    /* ---------- KARTU ---------- */

    position:relative;

    display:flex !important;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    isolation:isolate;

    border:1px solid var(--pc-line);

    border-radius:var(--pc-radius);

    background:
        linear-gradient(
            170deg,
            var(--pc-white) 0%,
            var(--pc-ice) 58%,
            var(--pc-mist) 100%
        );

    box-shadow:
        0 14px 34px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,.90);

    transition:
        transform .5s var(--pc-ease),
        border-color .4s ease,
        box-shadow .5s var(--pc-ease);
}


.elementor-754 .elementor-element.elementor-element-f5ace74 *,
.elementor-754 .elementor-element.elementor-element-f5ace74 *::before,
.elementor-754 .elementor-element.elementor-element-f5ace74 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-754 .elementor-element.elementor-element-f5ace74,
.elementor-754 .elementor-element.elementor-element-f5ace74 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f5ace74::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:
        radial-gradient(
            70% 46% at 50% 100%,
            rgba(77,192,255,.22) 0%,
            rgba(30,143,214,.06) 45%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .5s ease;
}


/* ---------------------------------------------------------
   03. GARIS AKSEN ATAS KARTU
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f5ace74::after{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:64px;
    height:3px;

    z-index:6;

    border-radius:0 0 999px 0;

    background:
        linear-gradient(
            90deg,
            var(--pc-sky),
            rgba(77,192,255,.15)
        );

    transition:
        width .55s var(--pc-ease),
        box-shadow .4s ease;
}


/* ---------------------------------------------------------
   04. HOVER KARTU
   --------------------------------------------------------- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74:hover{

        transform:translateY(-8px);

        border-color:rgba(77,192,255,.50);

        box-shadow:
            0 28px 56px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,.95);
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74:hover::before{
        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74:hover::after{

        width:100%;

        box-shadow:0 2px 16px rgba(77,192,255,.45);
    }

}


/* =========================================================
   =========================================================
   05. IMAGE  —  .pkg-card-image
   DITULIS ULANG DI v19

   Prinsip:
   1. KOTAK RASIO ada di .pkg-card-image sendiri.
      Elemen ini pasti ada karena class-nya Anda pasang.
   2. SEMUA isinya dibuat absolute inset:0 — widget,
      container, <a>, <figure>, <picture>, <img>.
      Berapa pun tingkat pembungkusnya, semua memenuhi
      kotak yang sama.
   3. Gradasi & sheen memakai pseudo-element
      .pkg-card-image supaya tidak ikut tertimpa.

   Hasil: foto potret, lanskap, kecil, atau besar
   SELALU tampil dengan bentuk dan ukuran identik.
   =========================================================
   ========================================================= */

/* ---------- KOTAK RASIO ---------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image{

    position:relative !important;

    display:block !important;

    width:100% !important;

    /* INI penentu tinggi foto.
       Ubah di sini kalau ingin rasio lain. */
    aspect-ratio:4 / 3 !important;

    height:auto !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    z-index:2;

    background:var(--pc-mist);
}


/* ---------- SELURUH ISI MEMENUHI KOTAK ----------
   Mencakup semua kemungkinan struktur Elementor. */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image > *,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image .elementor-widget-image,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image .elementor-image,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image figure,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image picture,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image a{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    line-height:0 !important;

    overflow:hidden !important;

    /* jangan biarkan pembungkus ikut memaksa rasio */
    aspect-ratio:auto !important;

    background:transparent !important;

    border:0 !important;

    border-radius:0 !important;
}


/* ---------- FOTO ---------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image img{

    position:absolute !important;

    inset:0 !important;

    display:block !important;

    width:100% !important;

    height:100% !important;

    max-width:none !important;

    min-height:0 !important;

    max-height:none !important;

    object-fit:cover !important;

    /* kalau subjek foto terpotong, ubah nilai kedua:
       center 35% = naik, center 65% = turun */
    object-position:center center !important;

    transform:scale(1.02);

    transition:
        transform 1.2s var(--pc-ease),
        filter .8s ease;
}


/* caption bawaan disembunyikan agar tidak mengubah tinggi */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image figcaption,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.16) 0%,
            transparent 34%,
            transparent 62%,
            rgba(4,30,51,.34) 100%
        );
}


/* ---------- SHEEN MELINTAS SAAT HOVER ---------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:170%;

    z-index:4;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    pointer-events:none;

    transition:left .95s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button){

    padding:9px 15px;

    border:1px solid rgba(255,255,255,.42);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 58%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol badge */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-badge .elementor-button{

    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:0;

    box-shadow:
        0 10px 24px rgba(30,143,214,.36),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease);
}


/* TIPOGRAFI badge — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74:hover .pkg-card-badge .elementor-button{

        transform:translateY(-2px) rotate(-2deg);

        box-shadow:
            0 15px 32px rgba(30,143,214,.48),
            inset 0 1px 0 rgba(255,255,255,.52);
    }

}


/* =========================================================
   07. BODY  —  .pkg-card-body
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-body{

    position:relative;

    z-index:3;

    display:flex !important;

    flex-direction:column;

    flex:1 1 auto;

    width:100%;
}


/* padding default — bisa diatur sendiri dari panel Layout */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-meta{

    display:flex !important;

    flex-direction:column;        /* ⬅️ diubah dari row ke column, biar durasi & rating juga bertumpuk rapi */

    align-items:flex-start;       /* ⬅️ diubah dari center */

    justify-content:flex-start;   /* ⬅️ diubah dari space-between */

    flex-wrap:wrap;

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-duration .elementor-icon-list-items{

    display:flex;

    flex-direction:column;        /* ⬅️ INI KUNCI UTAMA: bikin badge durasi turun ke bawah */

    align-items:flex-start;       /* ⬅️ diubah dari center, biar rata kiri */

    gap:8px;                      /* ⬅️ diubah dari 0, jadi ada jarak antar baris */

    width:100%;

    margin:0;
    padding:0;
}

/* kapsul durasi — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-item){

    padding:12px 20px 12px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(77,192,255,.16),
            rgba(139,216,255,.07)
        );
}


.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-duration .elementor-icon-list-item{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin:0;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.70);

    transition:
        border-color .35s ease,
        background .35s ease;
}


/* ikon & teks durasi — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-icon i){

    width:14px;
    height:14px;

    font-size:14px;

    fill:var(--pc-azure);

    color:var(--pc-azure);
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-text){

    font-family:var(--pc-font-body);

    font-size:12.5px;

    font-weight:600;

    letter-spacing:.02em;

    color:var(--pc-ocean);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74:hover
    .pkg-card-duration .elementor-icon-list-item{

        border-color:rgba(77,192,255,.60);

        background:
            linear-gradient(
                135deg,
                rgba(77,192,255,.26),
                rgba(139,216,255,.12)
            );
    }

}


/* --------- RATING  —  .pkg-card-rating --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-rating{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-rating .elementor-widget-container){

    padding:6px 13px;

    border:1px solid rgba(30,143,214,.22);

    border-radius:999px;

    background:rgba(255,255,255,.82);
}


.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-rating .elementor-widget-container{

    display:inline-flex;

    align-items:center;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 4px 12px rgba(4,30,51,.05);
}


/* warna bintang — bisa ditimpa dari panel Rating */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-rating .e-rating-item svg),
.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-rating .elementor-star-rating i){

    font-size:14px;

    color:var(--pc-sky);

    fill:var(--pc-sky);
}


/* =========================================================
   09. TITLE  —  .pkg-card-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-title{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.5vw,26px);

    line-height:1.22;

    letter-spacing:-.012em;

    color:var(--pc-navy);
}


/* pembatas baris — dipisah agar tidak mengunci font.
   Ubah --pc-title-lines di blok 01, atau hapus blok ini
   kalau judul ingin tampil penuh */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-title .elementor-heading-title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-title-lines);

    overflow:hidden;

    transition:color .35s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-desc{

    width:100%;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc p){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:300;

    line-height:1.68;

    color:var(--pc-muted);
}


/* pembatas baris deskripsi */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-desc .elementor-widget-container{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:var(--pc-desc-lines);

    overflow:hidden;
}


/* =========================================================
   11. PRICE ROW  —  .pkg-card-price
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price{

    position:relative;

    display:flex !important;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    flex-wrap:wrap;

    width:100%;

    margin-top:auto;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price){

    gap:8px;

    padding:14px 16px;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:
        linear-gradient(
            140deg,
            rgba(255,255,255,.92) 0%,
            rgba(234,244,252,.72) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price::after{

    content:"";

    position:absolute;

    width:90px;
    height:90px;

    right:-34px;
    top:-40px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.30) 0%,
            transparent 66%
        );

    pointer-events:none;
}


/* --------- LABEL  —  .pkg-card-price-label --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price-label{

    width:auto !important;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price-label .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-body);

    font-size:11.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:var(--pc-soft);
}


/* --------- NILAI  —  .pkg-card-price-value --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price-value .elementor-heading-title){

    margin:0;

    font-family:var(--pc-font-display);

    font-weight:400;

    font-size:clamp(22px,1.6vw,27px);

    line-height:1.1;

    letter-spacing:-.01em;

    color:var(--pc-azure);
}


/* Efek teks bergradasi.

   CATATAN PENTING:
   selama blok ini aktif, warna teks harga TIDAK bisa
   diubah dari panel karena warnanya berasal dari
   background, bukan dari properti color.

   Kalau Anda ingin mengatur warna harga dari Elementor,
   HAPUS SAJA seluruh blok di bawah ini. */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price-value .elementor-heading-title{

    background:
        linear-gradient(
            125deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 52%,
            var(--pc-navy) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   12. DIVIDER ANIMASI  —  .pkg-card-divider
   ========================================================= */

/* tinggi dipaksa karena container kosong tidak punya isi */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider{

    position:relative;

    display:block !important;

    width:100%;

    height:34px;

    min-height:34px;

    margin:0;

    padding:0;

    overflow:visible;

    pointer-events:none;
}


/* --------- GARIS TITIK + TITIK BERJALAN --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider::before{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:12px;

    transform:translateY(-50%);

    background:

        radial-gradient(
            circle at var(--pc-run, 6%) 50%,
            #FFFFFF 0 1.5px,
            var(--pc-sky) 2px 3px,
            rgba(77,192,255,.36) 4.5px,
            transparent 9px
        ),

        repeating-linear-gradient(
            90deg,
            rgba(30,143,214,.42) 0px,
            rgba(30,143,214,.42) 2px,
            transparent 2px,
            transparent 8px
        );

    background-repeat:no-repeat, repeat-x;

    background-size:
        100% 12px,
        100% 2px;

    background-position:
        center,
        center;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    animation:pkgDividerRun 4.8s ease-in-out infinite;
}


/* --------- BERLIAN TENGAH --------- */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:
        translate(-50%,-50%)
        rotate(45deg);

    border-radius:3px;

    background:
        linear-gradient(
            135deg,
            var(--pc-sky-light),
            var(--pc-azure)
        );

    box-shadow:
        0 0 0 5px rgba(248,252,255,.95),
        0 0 18px rgba(77,192,255,.55);

    animation:pkgDividerGem 4.8s ease-in-out infinite;
}


@property --pc-run{
    syntax:"<percentage>";
    inherits:false;
    initial-value:6%;
}


@keyframes pkgDividerRun{

    0%{
        --pc-run:6%;
        opacity:.55;
    }

    45%{
        --pc-run:94%;
        opacity:1;
    }

    55%{
        --pc-run:94%;
        opacity:1;
    }

    100%{
        --pc-run:6%;
        opacity:.55;
    }

}


@keyframes pkgDividerGem{

    0%,100%{
        transform:
            translate(-50%,-50%)
            rotate(45deg)
            scale(.92);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 14px rgba(77,192,255,.40);
    }

    50%{
        transform:
            translate(-50%,-50%)
            rotate(225deg)
            scale(1.08);

        box-shadow:
            0 0 0 5px rgba(248,252,255,.95),
            0 0 24px rgba(77,192,255,.70);
    }

}


/* =========================================================
   13. CTA BUTTON  —  .pkg-card-cta
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-cta .elementor-button){

    min-height:52px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:15px 5px 15px 15px;

    background:
        linear-gradient(
            138deg,
            var(--pc-sky) 0%,
            var(--pc-azure) 56%,
            var(--pc-ocean) 100%
        );

    color:var(--pc-white);
}


/* struktur tombol */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    width:100%;

    overflow:hidden;

    box-shadow:
        0 14px 30px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .4s var(--pc-ease),
        box-shadow .4s var(--pc-ease),
        background .35s ease;
}


/* TIPOGRAFI tombol — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-cta .elementor-button-text){

    font-family:var(--pc-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau pada tombol */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:48%;
    height:160%;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16) 24%,
            rgba(255,255,255,.66) 50%,
            rgba(255,255,255,.16) 76%,
            transparent
        );

    transition:left .85s ease;
}


.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--pc-sky-light) 0%,
                var(--pc-sky) 52%,
                var(--pc-azure) 100%
            );

        box-shadow:
            0 20px 40px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-cta .elementor-button:focus-visible,
.elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-badge .elementor-button:focus-visible{

    outline:2px solid var(--pc-navy);

    outline-offset:3px;
}


/* =========================================================
   14. TABLET  (768 - 1024)

   Semua nilai tipografi di sini juga memakai :where()
   sehingga tetap bisa ditimpa dari panel Elementor
   (Elementor punya pengaturan Tablet sendiri).
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-f5ace74{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-f5ace74{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-f5ace74 *,
    .elementor-754 .elementor-element.elementor-element-f5ace74 *::before,
    .elementor-754 .elementor-element.elementor-element-f5ace74 *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   =========================================================
   TABEL PEMASANGAN CLASS
   (sama seperti V15, tidak ada yang berubah)

   Container  (paling luar)  -> tempat CSS ini ditempel
     Image                   -> pkg-card-image
     Button (badge)          -> pkg-card-badge
     Container (isi)         -> pkg-card-body
       Container (meta)      -> pkg-card-meta
         Icon List           -> pkg-card-duration
         Rating              -> pkg-card-rating
       Heading (judul)       -> pkg-card-title
       Text Editor           -> pkg-card-desc
       Container (harga)     -> pkg-card-price
         Heading "Start From"-> pkg-card-price-label
         Heading "IDR 650K"  -> pkg-card-price-value
       Container (kosong)    -> pkg-card-divider
       Button                -> pkg-card-cta


   ---------------------------------------------------------
   CARA MENGEDIT SETELAH INI
   ---------------------------------------------------------
   FONT / UKURAN / WEIGHT / SPACING
     Klik widget > Style > Typography > atur bebas.
     Berlaku terpisah untuk Desktop, Tablet, dan Mobile.

   WARNA TEKS
     Klik widget > Style > Text Color.
     Pengecualian: harga (pkg-card-price-value) memakai
     efek gradasi. Hapus blok gradasi di bagian 11
     kalau ingin warnanya diatur dari panel.

   PADDING / MARGIN / GAP
     Klik widget atau container > Advanced > Padding/Margin,
     atau Layout > Gap. Panel selalu menang.

   JUMLAH BARIS JUDUL & DESKRIPSI
     Ubah --pc-title-lines dan --pc-desc-lines di blok 01.

   WARNA GLOBAL KARTU
     Ubah hex di blok 01.

   ---------------------------------------------------------
   MENGUBAH RASIO FOTO (v19)
   ---------------------------------------------------------
   Semua diatur di satu tempat, blok 05:

     Desktop : .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image
                   aspect-ratio:4 / 3 !important;

     Mobile  : di blok MOBILE
                   aspect-ratio:16 / 10 !important;

   Pilihan lain:
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak
     4 / 5    -> potret


   ---------------------------------------------------------
   KALAU FOTO HILANG SAMA SEKALI
   ---------------------------------------------------------
   Berarti ada aturan yang memaksa tinggi kotak rasio
   menjadi 100% atau 0. Cek apakah di CSS ini ada
   selektor seluas:

       .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image div
       .elementor-754 .elementor-element.elementor-element-f5ace74 .pkg-card-image span

   Kalau ada, hapus. Selektor pembungkus HARUS selalu
   dibatasi ke dalam .elementor-widget-container seperti
   pada blok 05.


   ---------------------------------------------------------
   KALAU FOTO MASIH TIDAK SERAGAM
   ---------------------------------------------------------
   Periksa widget Image di dalam loop item:

     Content > Image Size   : pilih "Large" atau "Full",
                              JANGAN "Custom" dengan
                              ukuran berbeda-beda.
     Style  > Image > Width : 100%
     Style  > Image > Max Width : 100%
     Style  > Image > Height : KOSONGKAN
     Advanced > Padding & Margin : KOSONGKAN

   Nilai Height di panel ditulis Elementor dengan
   spesifisitas tinggi dan bisa menimpa rasio dari CSS.


   MENGUBAH RASIO FOTO
   Desktop : cari  aspect-ratio:4 / 3 !important
   Mobile  : cari  aspect-ratio:16 / 10 !important

   Contoh pilihan:
     4 / 3    -> seperti sekarang
     3 / 2    -> sedikit lebih lebar
     16 / 9   -> lebar sinematik
     1 / 1    -> kotak


   ---------------------------------------------------------
   KALAU ADA WIDGET YANG MASIH TIDAK MAU BERUBAH
   ---------------------------------------------------------
   Penyebabnya biasanya Global Font atau Global Color masih
   menempel. Klik widget, lihat ikon globe kecil di sebelah
   Typography atau Color, klik, lalu pilih "Custom".
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa3fd33 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — PACKAGE SECTION
   "AZURE CURRENT" V13

   DIPASANG DI:
   Container utama section Package
   Advanced > Custom CSS

   FILE INI MENGGANTIKAN SELURUH CSS PACKAGE LAMA.

   ---------------------------------------------------------
   PERUBAHAN v13
   ---------------------------------------------------------
   - Palet merah/emas diganti biru, sama persis dengan
     About Us V12 (background #F8FCFF -> #EAF4FC).
   - Watermark "PACKAGES" kini bergaya outline stroke
     seperti watermark "BALI" di About section.
   - Dekorasi kompas lama diganti:
       * orbit ring putus-putus yang berputar pelan
       * garis kontur (topografi) halus di sisi kiri
   - Journey line diberi ekor komet, bukan titik polos.
   - Tabs ikut distyle: pill kaca biru, indikator meluncur,
     glow saat aktif.
   - Tipografi TANPA !important -> tetap bisa diedit dari
     panel Elementor (Style > Typography / Text Color).
   ---------------------------------------------------------
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33{

    /* nama variabel lama sengaja dipertahankan
       agar tidak ada aturan yang putus */

    --pkg-maroon:#063A5E;   /* Navy   */
    --pkg-red:#1E8FD6;      /* Azure  */
    --pkg-brick:#0A5C8F;    /* Ocean  */
    --pkg-gold:#4DC0FF;     /* Sky — aksen utama */

    --pkg-sky-light:#8BD8FF;
    --pkg-navy-dark:#041E33;

    --pkg-ivory:#EAF4FC;    /* bawah section — sama dgn About */
    --pkg-section-top:#F8FCFF;  /* atas section — sama dgn About */
    --pkg-blush:#D7ECF9;

    --pkg-text:#10222F;
    --pkg-white:#FFFFFF;

    /* font default — bisa ditimpa panel Elementor */
    --pkg-font-display:"DM Serif Display",Georgia,serif;
    --pkg-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pkg-ease:cubic-bezier(.2,.75,.2,1);


    position:relative;
    isolation:isolate;

    overflow:hidden;

    /* v13 : background disamakan dengan About section */
    background:

        /* kabut biru kiri atas */
        radial-gradient(
            circle at 8% 8%,
            rgba(77,192,255,.10) 0%,
            rgba(77,192,255,.03) 22%,
            transparent 42%
        ),

        /* atmosfer azure kanan tengah */
        radial-gradient(
            circle at 93% 48%,
            rgba(30,143,214,.09) 0%,
            rgba(30,143,214,.025) 26%,
            transparent 46%
        ),

        /* cahaya bawah */
        radial-gradient(
            circle at 50% 100%,
            rgba(77,192,255,.09) 0%,
            transparent 36%
        ),

        linear-gradient(
            180deg,
            #F8FCFF 0%,
            #F1F8FD 52%,
            #EAF4FC 100%
        ) !important;

    border-top:
        1px solid rgba(30,143,214,.10);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.70);
}


/* =========================================================
   02. GRID TEXTURE — v13
   Tekstur halus yang sama seperti About section
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner{
    position:relative;

    /* ruang untuk dekorasi bawah */
    padding-bottom:78px;
}


/* =========================================================
   03. TOP WATERMARK "PACKAGES"
   v13 : gaya outline stroke, seperti "BALI" di About
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33::before{
    content:"PACKAGES";

    position:absolute;

    left:2%;
    top:56px;

    z-index:0;

    font-family:
        var(--pkg-font-display);

    font-size:
        clamp(100px,13vw,215px);

    font-weight:400;

    line-height:.82;

    letter-spacing:-.045em;

    /* v13 : transparan + garis tepi, bukan blok warna */
    color:transparent;

    -webkit-text-stroke:
        1px rgba(30,143,214,.15);

    opacity:.85;

    white-space:nowrap;

    pointer-events:none;
    user-select:none;

    animation:
        pkgWatermarkFloat
        12s ease-in-out infinite;
}


/* =========================================================
   04. BOTTOM RIGHT ORBIT — v13
   Kompas lama diganti cincin putus-putus berputar
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33::after{
    content:"";

    position:absolute;

    right:-130px;
    bottom:-165px;

    width:470px;
    height:470px;

    z-index:0;

    border-radius:50%;

    pointer-events:none;

    opacity:.75;

    /* cincin dashed dibuat dengan conic-gradient
       lalu dipotong jadi ring pakai mask */
    background:

        /* titik pusat */
        radial-gradient(
            circle at center,
            rgba(77,192,255,.65) 0 3px,
            transparent 4px
        ),

        /* ring dalam — solid tipis */
        radial-gradient(
            circle at center,
            transparent 0 92px,
            rgba(77,192,255,.20) 93px,
            rgba(77,192,255,.20) 94px,
            transparent 95px
        ),

        /* ring tengah */
        radial-gradient(
            circle at center,
            transparent 0 148px,
            rgba(30,143,214,.16) 149px,
            rgba(30,143,214,.16) 150px,
            transparent 151px
        ),

        /* ring luar */
        radial-gradient(
            circle at center,
            transparent 0 205px,
            rgba(6,58,94,.12) 206px,
            rgba(6,58,94,.12) 207px,
            transparent 208px
        ),

        /* sapuan cahaya berputar */
        conic-gradient(
            from 0deg,
            rgba(77,192,255,.22) 0deg,
            transparent 55deg,
            transparent 300deg,
            rgba(77,192,255,.14) 360deg
        );

    animation:
        pkgOrbitSpin
        38s linear infinite;
}


/* =========================================================
   05. GARIS KONTUR KIRI — v13
   Dekorasi baru: lengkung topografi halus
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner > *:first-child{
    position:relative;
    z-index:3;
}


/* =========================================================
   06. REAL CONTENT ABOVE DECORATION
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner,
.elementor-754 .elementor-element.elementor-element-aa3fd33 > .elementor-element,
.elementor-754 .elementor-element.elementor-element-aa3fd33 > .elementor-container{
    position:relative;
    z-index:3;
}


/* =========================================================
   07. BOTTOM MICRO TEXT
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::before{
    content:"EXPLORE  •  DISCOVER  •  EXPERIENCE";

    position:absolute;

    left:50%;
    bottom:27px;

    transform:
        translateX(-50%);

    z-index:1;

    font-family:
        var(--pkg-font-body);

    font-size:9px;

    font-weight:600;

    letter-spacing:.28em;

    color:
        rgba(30,143,214,.52);

    white-space:nowrap;

    pointer-events:none;

    animation:
        pkgBottomText
        5s ease-in-out infinite;
}


/* =========================================================
   08. BOTTOM JOURNEY LINE — v13
   Titik polos diganti komet berekor
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:53px;

    width:min(540px,58%);
    height:14px;

    transform:
        translateX(-50%);

    z-index:1;

    pointer-events:none;

    background:

        /* ekor komet */
        radial-gradient(
            ellipse 46px 3px
            at var(--pkg-point, 10%) 50%,
            rgba(77,192,255,.55) 0%,
            rgba(77,192,255,.18) 42%,
            transparent 72%
        ),

        /* kepala komet */
        radial-gradient(
            circle at var(--pkg-point, 10%) 50%,
            #FFFFFF 0 1.5px,
            #4DC0FF 2px 3px,
            rgba(77,192,255,.42) 4px,
            transparent 8px
        ),

        /* garis dasar perjalanan */
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(6,58,94,.10) 8%,
            rgba(30,143,214,.28) 30%,
            rgba(77,192,255,.46) 50%,
            rgba(30,143,214,.28) 70%,
            rgba(6,58,94,.10) 92%,
            transparent 100%
        );

    background-repeat:no-repeat;

    background-size:
        100% 14px,
        100% 14px,
        100% 1px;

    background-position:
        center,
        center,
        center;

    filter:
        drop-shadow(0 0 6px rgba(77,192,255,.35));

    animation:
        pkgJourneyLine
        6.2s ease-in-out infinite;
}


/* =========================================================
   =========================================================
   09. TABS — v13

   Berlaku untuk Elementor Nested Tabs (.e-n-tabs)
   maupun Tabs klasik (.elementor-tabs).
   Tidak ada nama class baru yang dibuat.
   =========================================================
   ========================================================= */

/* --- wadah daftar tab --- */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tabs-heading,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tabs-wrapper{

    position:relative;

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:9px;

    border:1px solid rgba(30,143,214,.20);

    border-radius:999px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.88) 0%,
            rgba(234,244,252,.66) 100%
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 14px 34px rgba(4,30,51,.08);
}


/* --- tiap tombol tab --- */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    padding:13px 26px;

    border:1px solid transparent;

    border-radius:999px;

    background:transparent;

    color:var(--pkg-maroon);

    cursor:pointer;

    transition:
        color .32s ease,
        background .38s var(--pkg-ease),
        border-color .38s ease,
        box-shadow .38s var(--pkg-ease),
        transform .38s var(--pkg-ease);
}


/* teks di dalam tab — default saja, bisa ditimpa Elementor */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title-text,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title a{

    font-family:var(--pkg-font-body);

    font-size:15px;

    font-weight:500;

    letter-spacing:.01em;

    color:inherit;
}


/* --- kilau yang menyapu saat hover --- */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title::before,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-120%;

    width:55%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,.55) 50%,
            transparent 100%
        );

    transition:left .8s ease;
}


/* --- hover --- */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title:hover,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title:hover{

        transform:translateY(-2px);

        border-color:rgba(77,192,255,.42);

        background:rgba(77,192,255,.10);

        color:var(--pkg-brick);
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title:hover::before,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title:hover::before{

        left:160%;
    }

}


/* --- tab aktif --- */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title[aria-selected="true"],
.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title.e-active,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title.elementor-active{

    transform:translateY(-1px);

    border-color:rgba(255,255,255,.40);

    color:#FFFFFF;

    background:
        linear-gradient(
            140deg,
            #4DC0FF 0%,
            #1E8FD6 56%,
            #0A5C8F 100%
        );

    box-shadow:
        0 12px 28px rgba(30,143,214,.38),
        inset 0 1px 0 rgba(255,255,255,.38);
}


/* garis indikator kecil di bawah tab aktif */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title[aria-selected="true"]::after,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title.e-active::after,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title.elementor-active::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:7px;

    width:22px;
    height:2px;

    transform:translateX(-50%);

    border-radius:999px;

    background:rgba(255,255,255,.75);

    animation:
        pkgTabIndicator .45s var(--pkg-ease) both;
}


/* --- isi tab --- */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tabs-content > *,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-content{

    animation:
        pkgTabPanel .5s var(--pkg-ease) both;
}


/* sembunyikan garis bawah bawaan Elementor Tabs klasik */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tabs .elementor-tabs-wrapper,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tabs .elementor-tab-title,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tabs .elementor-tab-content{

    border-color:transparent;
}


/* =========================================================
   10. ANIMATIONS
   ========================================================= */

@property --pkg-point{
    syntax:"<percentage>";
    inherits:false;
    initial-value:10%;
}


@keyframes pkgJourneyLine{

    0%{
        --pkg-point:8%;
        opacity:.55;
    }

    45%{
        --pkg-point:92%;
        opacity:1;
    }

    55%{
        --pkg-point:92%;
        opacity:1;
    }

    100%{
        --pkg-point:8%;
        opacity:.55;
    }

}


@keyframes pkgWatermarkFloat{

    0%,
    100%{
        transform:translate3d(0,0,0);
        opacity:.70;
    }

    50%{
        transform:translate3d(12px,-5px,0);
        opacity:1;
    }

}


/* v13 : orbit kini berputar penuh, bukan bergoyang */

@keyframes pkgOrbitSpin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes pkgBottomText{

    0%,
    100%{
        opacity:.48;
        letter-spacing:.28em;
    }

    50%{
        opacity:.80;
        letter-spacing:.32em;
    }

}


@keyframes pkgTabIndicator{

    from{
        width:0;
        opacity:0;
    }

    to{
        width:22px;
        opacity:1;
    }

}


@keyframes pkgTabPanel{

    from{
        opacity:0;
        transform:translateY(12px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* =========================================================
   11. TABLET
   ========================================================= */

@media(max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-aa3fd33::before{
        left:2%;
        top:66px;

        font-size:
            clamp(82px,15vw,155px);
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33::after{
        width:360px;
        height:360px;

        right:-140px;
        bottom:-118px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner{
        padding-bottom:68px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::after{
        width:64%;
        bottom:48px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::before{
        bottom:23px;

        font-size:8px;

        letter-spacing:.22em;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title{
        padding:12px 22px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title-text,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title a{
        font-size:14.5px;
    }

}


/* =========================================================
   12. MOBILE
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-aa3fd33{
        background:

            radial-gradient(
                circle at 12% 7%,
                rgba(77,192,255,.10),
                transparent 30%
            ),

            radial-gradient(
                circle at 95% 82%,
                rgba(30,143,214,.08),
                transparent 33%
            ),

            linear-gradient(
                180deg,
                #F8FCFF 0%,
                #EAF4FC 100%
            ) !important;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33::before{
        left:-6px;
        top:72px;

        font-size:
            clamp(65px,23vw,105px);

        -webkit-text-stroke:
            1px rgba(30,143,214,.13);

        opacity:.70;

        animation:none;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33::after{
        width:250px;
        height:250px;

        right:-130px;
        bottom:-72px;

        opacity:.50;

        animation:none;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner{
        padding-bottom:60px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::after{
        width:80%;

        bottom:41px;

        height:12px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::before{
        bottom:18px;

        font-size:7px;

        letter-spacing:.17em;
    }


    /* TABS — mobile */

    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tabs-heading,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tabs-wrapper{

        gap:7px;

        padding:7px;

        border-radius:22px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title{

        flex:1 1 auto;

        min-width:0;

        justify-content:center;

        padding:11px 15px;

        border-radius:16px;

        text-align:center;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title-text,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title a{
        font-size:13.5px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title[aria-selected="true"]::after,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title.e-active::after,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title.elementor-active::after{
        bottom:5px;
        width:16px;
    }

}


/* =========================================================
   13. VERY SMALL MOBILE
   ========================================================= */

@media(max-width:430px){

    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::before{
        font-size:6.5px;

        letter-spacing:.12em;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::after{
        width:84%;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title{
        padding:10px 12px;
    }


    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title-text,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title a{
        font-size:12.5px;
    }

}


/* =========================================================
   14. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-aa3fd33::before,
    .elementor-754 .elementor-element.elementor-element-aa3fd33::after,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::before,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 > .e-con-inner::after,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tabs-content > *,
    .elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-content{
        animation:none !important;
    }

}


/* =========================================================
   15. FOKUS KEYBOARD
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-aa3fd33 .e-n-tab-title:focus-visible,
.elementor-754 .elementor-element.elementor-element-aa3fd33 .elementor-tab-title:focus-visible{

    outline:2px solid var(--pkg-gold);

    outline-offset:3px;
}


/* =========================================================
   =========================================================
   CATATAN PEMAKAIAN

   1. Tipografi di file ini TANPA !important.
      Atur font & warna teks tab langsung dari:
      Elementor > widget Tabs > Style > Typography / Color.

   2. Untuk mengubah semua warna sekaligus,
      edit hex di blok "01. PUSAT KENDALI" paling atas.

   3. Watermark "PACKAGES" adalah teks CSS, bukan widget.
      Ubah ketebalan garisnya di -webkit-text-stroke,
      atau ubah kata di properti content.

   4. Kalau tab aktif tidak ikut berwarna biru, berarti
      Elementor memakai struktur tab berbeda. Kirim
      screenshot inspect element-nya untuk saya sesuaikan.
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-d7735e9 *//* ============================================================
   CUSTOM CSS - GAMBAR "Why Travel to Bali" (VERSI v2)
   Warna brand : #f65a1e
   Catatan     : struktur & komentar asli dipertahankan.
                 Baris baru/berubah ditandai dengan "v2".
   ============================================================ */

/* Frame Utama dan Animasi Melayang */
.elementor-754 .elementor-element.elementor-element-d7735e9 {
    position: relative;                    /* v2: agar kilau & bingkai menempel */
    --jarak-melayang: -12px;               /* v2: jarak melayang (dipakai keyframes) */
    border-radius: 20px;
    overflow: hidden;
    /* v2: bingkai oranye tipis + bayangan lembut */
    box-shadow: inset 0 0 0 2px rgba(246, 90, 30, 0.35),
                0 12px 30px rgba(0, 0, 0, 0.10);
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    animation: floatAnimation 6s ease-in-out infinite;   /* v2: lebih halus (6s) */
}

/* Efek Transisi Foto */
.elementor-754 .elementor-element.elementor-element-d7735e9 img {
    transition: transform 0.6s ease;
    display: block;
    width: 100%;
    height: auto;                          /* v2: jaga proporsi foto */
}

/* v2: Kilau cahaya yang menyapu foto secara berkala */
.elementor-754 .elementor-element.elementor-element-d7735e9::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;                  /* tidak menghalangi klik */
    background: linear-gradient(
        115deg,
        transparent 30%,
        rgba(255, 255, 255, 0.25) 47%,
        rgba(255, 255, 255, 0.45) 50%,
        rgba(255, 255, 255, 0.25) 53%,
        transparent 70%
    );
    background-size: 250% 100%;
    background-position: 150% 0;
    animation: kilauFoto 5s ease-in-out infinite;
}

/* Efek Hover (Glow Oranye & Zoom Halus) */
.elementor-754 .elementor-element.elementor-element-d7735e9:hover {
    /* v2: bingkai oranye lebih tegas + glow oranye */
    box-shadow: inset 0 0 0 2px rgba(246, 90, 30, 0.70),
                0 20px 45px rgba(246, 90, 30, 0.28);
}
.elementor-754 .elementor-element.elementor-element-d7735e9:hover img {
    transform: scale(1.07);
}

/* Keyframes Gerakan Melayang */
@keyframes floatAnimation {
    0%   { transform: translateY(0px); }
    50%  { transform: translateY(var(--jarak-melayang)); }   /* v2: pakai variabel */
    100% { transform: translateY(0px); }
}

/* v2: Keyframes kilau menyapu (ada jeda diam sebelum menyapu) */
@keyframes kilauFoto {
    0%, 55% { background-position: 150% 0; }
    100%    { background-position: -150% 0; }
}

/* v2: RESPONSIVE - penyesuaian tampilan di mobile */
@media (max-width: 767px) {
    .elementor-754 .elementor-element.elementor-element-d7735e9 {
        --jarak-melayang: -6px;            /* v2: melayang lebih kecil di mobile */
        border-radius: 16px;
        animation-duration: 5s;
    }
}

/* v2: Hormati pengguna yang mematikan animasi */
@media (prefers-reduced-motion: reduce) {
    .elementor-754 .elementor-element.elementor-element-d7735e9 { animation: none; }
    .elementor-754 .elementor-element.elementor-element-d7735e9::after { animation: none; opacity: 0; }
    .elementor-754 .elementor-element.elementor-element-d7735e9:hover img { transform: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5446477 *//* =========================================================
   =========================================================
   PUTU BALI TOUR — WHY CHOOSE US
   "AZURE REASONS" V18  (COSMETIC ONLY)

   DIPASANG DI:
   Container PALING LUAR section Why Choose Us
   Advanced > Custom CSS

   ---------------------------------------------------------
   KENAPA V17 MERUSAK POSISI
   ---------------------------------------------------------
   V17 memaksa layout sendiri:
       display:grid !important
       grid-template-columns
       min-height pada foto
       flex-direction pada kartu

   Padahal Elementor sudah mengatur layout dari panel.
   Dua sistem bertabrakan, hasilnya kolom gepeng dan
   foto memanjang.

   ---------------------------------------------------------
   PRINSIP V18
   ---------------------------------------------------------
   CSS ini TIDAK menyentuh layout sama sekali.
   Tidak ada display, grid-template, flex-direction,
   width, height, atau min-height yang dipaksa.

   Posisi, lebar kolom, jumlah kolom, gap, dan padding
   SEPENUHNYA diatur dari panel Elementor.

   CSS ini hanya mengurus:
       warna, gradasi, border, radius, bayangan,
       tekstur latar, watermark, ikon, dan animasi hover.

   ---------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ---------------------------------------------------------
   Semua aturan font dibungkus :where() sehingga
   spesifisitasnya nol. Panel Elementor selalu menang.
   =========================================================
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477{

    --wc-sky:#4DC0FF;
    --wc-sky-light:#8BD8FF;
    --wc-azure:#1E8FD6;
    --wc-ocean:#0A5C8F;
    --wc-navy:#063A5E;
    --wc-navy-dark:#041E33;

    --wc-section-top:#F8FCFF;
    --wc-section-bottom:#EAF4FC;

    --wc-white:#FFFFFF;
    --wc-mist:#D7ECF9;

    --wc-text:#10222F;
    --wc-muted:rgba(16,34,47,.72);
    --wc-soft:rgba(16,34,47,.56);

    --wc-line:rgba(30,143,214,.20);

    --wc-font-display:"DM Serif Display",Georgia,serif;
    --wc-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    /* bentuk lengkung foto */
    --wc-arch:170px 170px 24px 24px;

    /* sudut kartu */
    --wc-card-radius:20px 4px 20px 20px;

    --wc-ease:cubic-bezier(.2,.75,.2,1);


    /* ---------- LATAR SECTION ----------
       Hanya warna. Padding diatur dari panel. */

    position:relative;

    isolation:isolate;

    overflow:hidden;

    color:var(--wc-text);

    background:

        radial-gradient(
            circle at 88% 12%,
            rgba(77,192,255,.14) 0%,
            rgba(77,192,255,.04) 24%,
            transparent 48%
        ),

        radial-gradient(
            circle at 8% 78%,
            rgba(30,143,214,.11) 0%,
            transparent 44%
        ),

        linear-gradient(
            180deg,
            var(--wc-section-top) 0%,
            #F1F8FD 54%,
            var(--wc-section-bottom) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-5446477 *,
.elementor-754 .elementor-element.elementor-element-5446477 *::before,
.elementor-754 .elementor-element.elementor-element-5446477 *::after{
    box-sizing:border-box;
}


/* ---------------------------------------------------------
   02. TEKSTUR GRID HALUS
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-5446477::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-2;

    pointer-events:none;

    opacity:.40;

    background-image:

        linear-gradient(
            rgba(30,143,214,.030) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(30,143,214,.030) 1px,
            transparent 1px
        );

    background-size:52px 52px;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 14%,
            #000 86%,
            transparent
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 14%,
            #000 86%,
            transparent
        );
}


/* ---------------------------------------------------------
   03. WATERMARK "REASONS"
   Ubah katanya di properti content.
   Hapus seluruh blok ini kalau tidak diinginkan.
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-5446477::after{

    content:"REASONS";

    position:absolute;

    right:-10px;
    bottom:-26px;

    z-index:-1;

    pointer-events:none;

    user-select:none;

    font-family:var(--wc-font-display);

    font-size:clamp(70px,11vw,168px);

    line-height:.8;

    letter-spacing:-.045em;

    color:transparent;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.72;
}


/* =========================================================
   04. EYEBROW  —  .wcu-eyebrow
   Hanya warna & garis kecil. Posisi dari panel.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-eyebrow .elementor-heading-title){

    font-family:var(--wc-font-body);

    font-size:12px;

    font-weight:600;

    letter-spacing:.20em;

    text-transform:uppercase;

    color:var(--wc-azure);
}


/* dua garis kecil mengapit teks */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title{

    display:inline-flex;

    align-items:center;

    gap:14px;
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title::before,
.elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title::after{

    content:"";

    width:34px;
    height:2px;

    flex-shrink:0;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            rgba(77,192,255,.10),
            var(--wc-sky)
        );
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title::after{

    background:
        linear-gradient(
            90deg,
            var(--wc-sky),
            rgba(77,192,255,.10)
        );
}


/* =========================================================
   05. TITLE  —  .wcu-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-title .elementor-heading-title){

    font-family:var(--wc-font-display);

    font-weight:400;

    line-height:1.06;

    letter-spacing:-.022em;

    color:var(--wc-navy);
}


/* Kata yang dibungkus <span> otomatis jadi gradasi biru.
   Di editor tulis:  Why <span>Choose Us</span>  */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--wc-sky) 0%,
            var(--wc-azure) 55%,
            var(--wc-ocean) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =========================================================
   06. SUBTITLE  —  .wcu-subtitle
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-subtitle .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-subtitle p){

    font-family:var(--wc-font-body);

    font-weight:300;

    line-height:1.72;

    color:var(--wc-muted);
}


/* =========================================================
   07. VISUAL  —  .wcu-visual
   Hanya dekorasi di belakang foto.
   Ukuran & posisi kolom tetap dari panel.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual{

    position:relative;
}


/* orbit ring putus-putus */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual::before{

    content:"";

    position:absolute;

    left:-38px;
    bottom:-34px;

    width:140px;
    height:140px;

    z-index:0;

    border-radius:50%;

    border:1px dashed rgba(77,192,255,.46);

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.13) 0%,
            transparent 64%
        );

    box-shadow:0 0 40px rgba(77,192,255,.15);

    animation:wcuOrbitSpin 46s linear infinite;

    pointer-events:none;
}


/* bingkai arch yang digeser */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual::after{

    content:"";

    position:absolute;

    inset:-16px 16px 16px -16px;

    z-index:0;

    border:1.5px solid rgba(77,192,255,.48);

    border-radius:var(--wc-arch);

    box-shadow:-8px 10px 30px -16px rgba(30,143,214,.45);

    pointer-events:none;

    transition:transform .7s var(--wc-ease);
}


@keyframes wcuOrbitSpin{

    from{ transform:rotate(0deg); }

    to{ transform:rotate(360deg); }

}


/* =========================================================
   08. FOTO  —  .wcu-image
   Tidak ada height/min-height yang dipaksa.
   Atur tinggi foto dari panel Image > Style > Height,
   atau dari Container kiri > Layout.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-image{

    position:relative;

    z-index:2;
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-image .elementor-widget-container{

    position:relative;

    overflow:hidden;

    box-shadow:
        0 30px 66px rgba(4,30,51,.20),
        0 0 0 1px rgba(77,192,255,.16);
}


/* bingkai & lengkungan — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-image .elementor-widget-container){

    border:7px solid var(--wc-white);

    border-radius:var(--wc-arch);

    background:var(--wc-mist);
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-image img{

    display:block;

    /* object-position: ubah nilai kedua kalau subjek
       foto terpotong. center 35% = naik, center 65% = turun */
    object-position:center center;

    transition:
        transform 1.2s var(--wc-ease),
        filter .8s ease;
}


.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-image img){

    width:100%;

    object-fit:cover;
}


/* gradasi bawah foto */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-image .elementor-widget-container::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:2;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgba(4,30,51,.20) 100%
        );
}


/* keystone belah ketupat di puncak lengkungan */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-image .elementor-widget-container::before{

    content:"";

    position:absolute;

    top:15px;
    left:50%;

    z-index:4;

    width:28px;
    height:28px;

    transform:translateX(-50%) rotate(45deg);

    border-radius:7px;

    background:
        linear-gradient(
            135deg,
            var(--wc-sky),
            var(--wc-azure)
        );

    box-shadow:
        0 6px 18px rgba(77,192,255,.45),
        inset 0 1px 0 rgba(255,255,255,.35);

    transition:transform .6s var(--wc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual:hover .wcu-image img{

        transform:scale(1.05);

        filter:saturate(1.05) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual:hover::after{

        transform:translate(-6px,6px);
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual:hover
    .wcu-image .elementor-widget-container::before{

        transform:translateX(-50%) rotate(135deg);
    }

}


/* =========================================================
   09. GRID  —  .wcu-grid
   Sengaja dibiarkan kosong.
   Jumlah kolom dan gap diatur dari panel Elementor.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-grid{

    position:relative;

    counter-reset:wcu;
}


/* =========================================================
   10. KARTU  —  .wcu-card

   Hanya kulit kartu: border gradasi, bayangan, aksen.
   Layout isi kartu (ikon di atas / di samping, gap,
   padding) SEPENUHNYA dari panel Elementor.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    counter-increment:wcu;

    box-shadow:
        0 12px 30px rgba(4,30,51,.07),
        inset 0 1px 0 rgba(255,255,255,.85);

    transition:
        transform .45s var(--wc-ease),
        box-shadow .45s ease;
}


/* tampilan kartu — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card){

    border:1px solid transparent;

    border-radius:var(--wc-card-radius);

    background:

        linear-gradient(
            162deg,
            rgba(255,255,255,.94) 0%,
            rgba(234,244,252,.76) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.70) 0%,
            rgba(30,143,214,.18) 45%,
            rgba(255,255,255,.10) 100%
        ) border-box;
}


/* --------- GARIS AKSEN ATAS KARTU --------- */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card::after{

    content:"";

    position:absolute;

    top:0;
    left:22px;

    width:42px;
    height:3px;

    z-index:5;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--wc-sky),
            rgba(77,192,255,.18)
        );

    transition:
        width .45s var(--wc-ease),
        box-shadow .35s ease;
}


/* --------- SPOTLIGHT SAAT HOVER --------- */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    background:
        radial-gradient(
            74% 62% at 12% 0%,
            rgba(77,192,255,.26) 0%,
            rgba(30,143,214,.07) 46%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .45s ease;
}


/* =========================================================
   11. IKON KARTU

   Ditarget lewat jenis widget, tanpa class tambahan.
   Hanya tampilan tile-nya. Ukuran ikon tetap bisa
   diatur dari panel Icon > Style > Size.

   PENTING:
   Kalau ikon Anda masih punya Border merah bawaan,
   buka widget Icon > Style, set Border Type = None
   dan Primary Color = transparent agar tidak dobel.
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card .elementor-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    box-shadow:
        0 10px 22px rgba(30,143,214,.30),
        inset 0 1px 0 rgba(255,255,255,.40);

    transition:
        transform .45s var(--wc-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon){

    width:48px;

    height:48px;

    padding:0;

    border:1px solid rgba(255,255,255,.30);

    border-radius:15px 4px 15px 15px;

    color:#FFFFFF;

    background:
        linear-gradient(
            140deg,
            var(--wc-sky) 0%,
            var(--wc-azure) 58%,
            var(--wc-ocean) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon svg){

    width:20px;

    height:20px;

    fill:currentColor;
}


.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon i){

    font-size:20px;

    color:#FFFFFF;
}


/* =========================================================
   12. JUDUL KARTU
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-heading-title){

    font-family:var(--wc-font-display);

    font-weight:400;

    line-height:1.18;

    letter-spacing:-.008em;

    color:var(--wc-navy);
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card .elementor-heading-title{

    transition:color .35s ease;
}


/* =========================================================
   13. TEKS KARTU
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-widget-text-editor
.elementor-widget-container),

.elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-widget-text-editor p){

    font-family:var(--wc-font-body);

    font-weight:300;

    line-height:1.66;

    color:var(--wc-soft);
}


/* =========================================================
   14. HOVER KARTU
   ========================================================= */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover{

        transform:translateY(-6px);

        box-shadow:
            0 22px 46px rgba(4,30,51,.13),
            inset 0 1px 0 rgba(255,255,255,.90);
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover::before{

        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover::after{

        width:calc(100% - 44px);

        box-shadow:0 2px 14px rgba(77,192,255,.40);
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover .elementor-icon{

        transform:translateY(-2px) rotate(-5deg) scale(1.06);

        box-shadow:
            0 15px 32px rgba(30,143,214,.42),
            inset 0 1px 0 rgba(255,255,255,.50);
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover .elementor-heading-title{

        color:var(--wc-azure);
    }

}


/* =========================================================
   15. TABLET  (768 - 1024)
   Hanya menyesuaikan ukuran dekorasi, bukan layout.
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-5446477{

        --wc-arch:140px 140px 22px 22px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual::before{

        width:120px;
        height:120px;

        left:-30px;
        bottom:-28px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-image .elementor-widget-container){

        border-width:6px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon){

        width:44px;

        height:44px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477::after{

        font-size:clamp(64px,14vw,118px);

        bottom:-18px;
    }

}


/* =========================================================
   16. MOBILE  (<= 767px)
   Tetap tanpa mengubah layout.
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-5446477{

        --wc-arch:115px 115px 18px 18px;

        --wc-card-radius:17px 4px 17px 17px;
    }


    /* EYEBROW */

    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title{

        gap:10px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title::before,
    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-eyebrow .elementor-heading-title::after{

        width:22px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.17em;
    }


    /* FOTO */

    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-image .elementor-widget-container){

        border-width:5px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual::after{

        inset:-11px 11px 11px -11px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-visual::before{

        width:92px;
        height:92px;

        left:-22px;
        bottom:-20px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-image .elementor-widget-container::before{

        top:11px;

        width:21px;
        height:21px;

        border-radius:6px;
    }


    /* KARTU */

    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card::after{

        left:17px;

        width:32px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon){

        width:44px;

        height:44px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon svg){

        width:19px;

        height:19px;
    }


    /* WATERMARK */

    .elementor-754 .elementor-element.elementor-element-5446477::after{

        font-size:clamp(56px,20vw,92px);

        bottom:-10px;

        right:-6px;

        opacity:.52;
    }


    /* hover dimatikan di layar sentuh */

    .elementor-754 .elementor-element.elementor-element-5446477 .wcu-card:hover{

        transform:none;
    }

}


/* =========================================================
   17. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon){

        width:40px;

        height:40px;
    }


    .elementor-754 .elementor-element.elementor-element-5446477 :where(.wcu-card .elementor-icon svg){

        width:17px;

        height:17px;
    }

}


/* =========================================================
   18. TOUCH DEVICES
   ========================================================= */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-5446477 a,
    .elementor-754 .elementor-element.elementor-element-5446477 button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* =========================================================
   19. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-5446477 *,
    .elementor-754 .elementor-element.elementor-element-5446477 *::before,
    .elementor-754 .elementor-element.elementor-element-5446477 *::after{

        animation-duration:.01ms !important;

        animation-iteration-count:1 !important;

        transition-duration:.01ms !important;
    }

}


/* =========================================================
   20. FOKUS KEYBOARD
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 a:focus-visible,
.elementor-754 .elementor-element.elementor-element-5446477 button:focus-visible{

    outline:2px solid var(--wc-sky);

    outline-offset:4px;

    border-radius:8px;
}

/* =========================================================
   21. PATCH — MATIIN BORDER MERAH (card & icon)
   Border merah kemungkinan nempel dari panel Elementor,
   patch ini maksa balik ke desain V18 (transparent/putih).
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card{

    border-color:transparent !important;

    background:

        linear-gradient(
            162deg,
            rgba(255,255,255,.94) 0%,
            rgba(234,244,252,.76) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.70) 0%,
            rgba(30,143,214,.18) 45%,
            rgba(255,255,255,.10) 100%
        ) border-box !important;
}


.elementor-754 .elementor-element.elementor-element-5446477 .wcu-card .elementor-icon{

    border:1px solid rgba(255,255,255,.30) !important;
}

/* =========================================================
   =========================================================
   TABEL CLASS (sama seperti V17, tidak berubah)

   Container (paling luar)     -> tempat CSS ini ditempel
     Heading  (ABOUT US ...)   -> wcu-eyebrow
     Heading  (Why Choose Us)  -> wcu-title
     Text Editor (subjudul)    -> wcu-subtitle
     Container (baris utama)   -> wcu-shell   (boleh dikosongkan)
       Container (kolom kiri)  -> wcu-visual
         Image                 -> wcu-image
       Container (kolom kanan) -> wcu-grid
         Container (tiap kartu)-> wcu-card
           Icon / Heading / Text Editor -> tanpa class


   ---------------------------------------------------------
   YANG HARUS DIRAPIKAN DI PANEL ELEMENTOR
   ---------------------------------------------------------
   Karena CSS ini tidak mengatur layout, semua posisi
   dikembalikan ke panel. Periksa:

   1. Container kolom kiri (wcu-visual)
      Layout > Width       : atur sesuai keinginan (mis. 38%)
      Layout > Align Items : Stretch

   2. Widget Image (wcu-image)
      Style > Image > Height : set nilai tetap kalau ingin
      foto punya tinggi konsisten, mis. 520px.
      Object Fit : Cover

   3. Container kolom kanan (wcu-grid)
      Layout > Direction : Row
      Layout > Wrap      : Wrap
      Layout > Gap       : 16px

   4. Tiap kartu (wcu-card)
      Layout > Width   : 48% (untuk 2 kolom)
                         100% (untuk 1 kolom di mobile)
      Layout > Direction : Column
      Layout > Gap     : 10px
      Advanced > Padding : 24px 22px 26px

   5. Widget Icon di dalam kartu
      Style > Border Type : None
      Style > Primary Color : transparent
      (agar kotak merah bawaan tidak dobel dengan
       tile gradasi dari CSS)


   ---------------------------------------------------------
   CARA MENGEDIT
   ---------------------------------------------------------
   Font, ukuran, weight, warna teks : Style > Typography
   Padding, margin, gap, lebar      : panel Layout / Advanced
   Warna global & aksen             : blok 01 di atas
   Lengkungan foto                  : ubah --wc-arch
   Sudut kartu                      : ubah --wc-card-radius
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-235b59d *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   GALLERY — "AZURE VISUAL JOURNAL" V24

   PASTE:
   GALLERY HIGH END
   → Advanced
   → Custom CSS

   CLASS TETAP SAMA:
   gallery-shell / gallery-header / gallery-header-left
   gallery-eyebrow / gallery-title / gallery-intro
   gallery-visual / gallery-left / gallery-left-image
   gallery-right / gallery-main-image / gallery-carousel

   CLASS BARU v22:
   gallery-cta   -> widget Button di bawah carousel

   ------------------------------------------------------------
   PERBAIKAN v24 — ALIGNMENT ICON & TEXT TOMBOL
   ------------------------------------------------------------
   MASALAH:
   Icon panah dan teks "See More" tidak lurus secara
   vertikal di dalam tombol.

   PENYEBAB:
   Struktur asli widget Button Elementor punya wrapper
   tambahan di antara .elementor-button dan
   .elementor-button-icon / .elementor-button-text, yaitu
   .elementor-button-content-wrapper. Wrapper ini sebelumnya
   TIDAK diatur flex/align, sehingga icon dan text tidak
   benar-benar center satu sama lain secara vertikal.

   SOLUSI:
   - .elementor-button-content-wrapper diberi
     display:flex + align-items:center + justify-content:center
   - .elementor-button-text diberi flex + align-items:center
     + margin:0 supaya tidak ada baseline/line-height liar
   - svg icon diberi display:block untuk hilangkan gap kecil
     bawaan inline SVG
   - warna icon diubah menjadi putih (#FFFFFF)

   Tidak ada bagian lain dari CSS yang diubah.

   ------------------------------------------------------------
   PERBAIKAN v21 — RUANG KOSONG DI MOBILE
   ------------------------------------------------------------
   Penyebab ruang kosong besar di bawah carousel:

   1. Elementor memberi tinggi tetap pada wadah swiper
      sesuai rasio gambar asli, sedangkan CSS memaksa
      tinggi slide lebih pendek. Selisihnya jadi ruang
      kosong DI DALAM carousel.

   2. Pagination memakai position:absolute dengan
      bottom:2px, sementara wrapper sudah diberi
      padding-bottom 27px -> jaraknya menumpuk.

   3. Watermark "GALLERY" berukuran besar mendorong
      area bawah section.

   Solusi v21:
   - swiper, swiper-container, dan swiper-wrapper
     dipaksa height:auto di mobile.
   - slide memakai aspect-ratio, bukan tinggi tetap.
   - pagination jadi position:static, mengalir normal
     di bawah carousel dengan margin kecil.
   - padding bawah section dan watermark dirapikan.

   ------------------------------------------------------------
   PERBAIKAN v22
   ------------------------------------------------------------
   1. TOMBOL di bawah carousel akhirnya distyle.
      Class baru: gallery-cta
   2. Label "01 / ISLAND MOMENTS" dipindah ke TENGAH atas
      foto arch. Sebelumnya terpotong lengkungan.
   3. Panah carousel tidak lagi menutupi foto:
      default tersembunyi, muncul halus saat kursor
      masuk area carousel.
   4. Slide carousel dapat sudut & bayangan lebih rapi,
      slide aktif diberi ring biru tipis.
   5. Watermark "GALLERY" dirapikan agar tidak terpotong.

   ------------------------------------------------------------
   PERBAIKAN v23 — FONT TOMBOL
   ------------------------------------------------------------
   MASALAH:
   Font tombol tidak jadi Poppins, melainkan font Accent
   bawaan Global Fonts Elementor.

   PENYEBAB:
   Aturan font tombol dibungkus :where() -> spesifisitas NOL.
   Elementor menulis Global Font tombol dengan selektor
   .elementor-kit-XX .elementor-button  = spesifisitas (0,2,0).
   Jadi aturan :where() kalah.

   SOLUSI:
   Font tombol kini memakai selektor normal
   (spesifisitas 0,2,1) sehingga MENANG atas Global Font,
   tetapi TETAP BISA DITIMPA dari panel, karena Elementor
   menulis Typography per-widget dengan selektor
   .elementor-element.elementor-element-XXX .elementor-button
   = spesifisitas (0,3,0), lebih tinggi dari aturan ini.

   Artinya: default jadi Poppins, dan begitu Anda atur
   Style > Typography, panel yang dipakai.

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ------------------------------------------------------------
   Semua aturan font dibungkus :where() -> spesifisitas NOL.
   Panel Elementor selalu menang.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d{

    --gal-maroon:#063A5E;
    --gal-maroon-dark:#041E33;

    --gal-red:#1E8FD6;
    --gal-red-dark:#0A5C8F;

    --gal-brick:#0A5C8F;
    --gal-gold:#4DC0FF;

    --gal-sky-light:#8BD8FF;

    --gal-ivory:#EAF4FC;
    --gal-ivory-light:#F8FCFF;

    --gal-blush:#D7ECF9;

    --gal-charcoal:#10222F;
    --gal-white:#FFFFFF;

    --gal-body:rgba(16,34,47,.74);
    --gal-muted:rgba(16,34,47,.56);

    --gal-line:rgba(30,143,214,.20);
    --gal-line-soft:rgba(30,143,214,.10);

    --gal-max:1420px;

    --gal-gap:12px;

    --gal-font-display:"DM Serif Display",Georgia,serif;
    --gal-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --gal-arch:150px 150px 22px 22px;

    --gal-ease:cubic-bezier(.22,1,.36,1);


    position:relative;

    isolation:isolate;

    width:100%!important;
    max-width:none!important;

    min-width:0;

    margin:0!important;

    padding:

        clamp(72px,6.5vw,110px)
        clamp(20px,5vw,76px)
        clamp(70px,6.5vw,108px)

        !important;

    overflow:hidden;

    color:var(--gal-charcoal);

    font-family:var(--gal-font-body);

    background:

        radial-gradient(
            circle at 7% 9%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 94% 17%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 84% 90%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            #F8FCFF 0%,
            #F1F8FD 54%,
            #EAF4FC 100%
        )

        !important;
}


/* ============================================================
   02. GLOBAL RESET INSIDE SECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d *,
.elementor-754 .elementor-element.elementor-element-235b59d *::before,
.elementor-754 .elementor-element.elementor-element-235b59d *::after{

    box-sizing:border-box;
}


.elementor-754 .elementor-element.elementor-element-235b59d .e-con,
.elementor-754 .elementor-element.elementor-element-235b59d .elementor-element,
.elementor-754 .elementor-element.elementor-element-235b59d .elementor-widget,
.elementor-754 .elementor-element.elementor-element-235b59d .elementor-widget-container{

    min-width:0;
}


.elementor-754 .elementor-element.elementor-element-235b59d img{

    max-width:100%;
}


/* ============================================================
   03. TEKSTUR TITIK HALUS
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-10;

    pointer-events:none;

    opacity:.24;

    background-image:

        radial-gradient(
            rgba(30,143,214,.16) .65px,
            transparent .65px
        );

    background-size:34px 34px;

    -webkit-mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );

    mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );
}


/* ============================================================
   04. AMBIENT BLUE LIGHT
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d::after{

    content:"";

    position:absolute;

    z-index:-9;

    pointer-events:none;

    width:clamp(440px,48vw,760px);

    height:clamp(440px,48vw,760px);

    right:clamp(-360px,-18vw,-180px);

    top:clamp(-330px,-15vw,-160px);

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(77,192,255,.20),
            rgba(30,143,214,.06) 43%,
            transparent 70%
        );

    animation:galleryAmbient 12s ease-in-out infinite;
}


@keyframes galleryAmbient{

    0%,100%{
        opacity:.75;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }

}


/* ============================================================
   05. GALLERY SHELL
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-shell{

    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:var(--gal-max)!important;

    min-width:0;

    margin:0 auto!important;

    padding:0!important;
}


/* ============================================================
   06. ANGKA SECTION "04"
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-shell::before{

    content:"04";

    position:absolute;

    right:-4px;
    top:-58px;

    z-index:-2;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--gal-font-display);

    font-size:clamp(80px,8.5vw,138px);

    line-height:1;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.17);

    opacity:.9;
}


/* ============================================================
   07. WATERMARK "GALLERY"
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-shell::after{

    content:"GALLERY";

    position:absolute;

    left:-3px;
    bottom:-48px;

    z-index:-3;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--gal-font-display);

    font-size:clamp(100px,13.5vw,198px);

    line-height:.78;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.8;
}


/* ============================================================
   08. GALLERY HEADER
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-header{

    position:relative;

    z-index:5;

    display:grid!important;

    grid-template-columns:

        minmax(0,1.15fr)
        minmax(320px,.68fr)

        !important;

    align-items:end!important;

    gap:clamp(56px,7vw,125px)!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0 0 clamp(44px,4.6vw,64px)!important;

    border-bottom:1px solid var(--gal-line);
}


/* ============================================================
   09. HEADER LEFT
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-header-left{

    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    justify-content:flex-end!important;

    gap:0!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   10. GALLERY EYEBROW
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow{

    margin:0 0 16px!important;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title{

    position:relative;

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin:0;

    padding-left:37px;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-eyebrow .elementor-heading-title){

    font-family:var(--gal-font-body);

    font-size:11px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.17em;

    color:var(--gal-red);
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:27px;
    height:2px;

    transform:translateY(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::after{

    content:"VISUAL JOURNAL";

    margin-left:5px;

    padding-left:12px;

    border-left:1px solid rgba(30,143,214,.24);

    color:rgba(16,34,47,.50);

    font-size:9px;

    font-weight:600;

    letter-spacing:.15em;
}


/* ============================================================
   11. GALLERY TITLE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-title{

    position:relative;

    width:100%!important;

    max-width:710px!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

    margin:0;

    font-family:var(--gal-font-display);

    font-weight:400;

    font-size:clamp(50px,5.2vw,80px);

    line-height:1.02;

    letter-spacing:-.026em;

    color:var(--gal-maroon);
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-title .elementor-heading-title{

    text-wrap:balance;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--gal-gold) 0%,
            var(--gal-red) 55%,
            var(--gal-red-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-title::after{

    content:"";

    display:block;

    width:64px;
    height:2px;

    margin-top:22px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            rgba(77,192,255,.35),
            transparent
        );

    box-shadow:0 2px 12px rgba(77,192,255,.30);

    transition:width .55s var(--gal-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-header:hover .gallery-title::after{

        width:125px;
    }

}


/* ============================================================
   12. GALLERY INTRO
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-intro{

    position:relative;

    align-self:end;

    width:100%!important;

    max-width:470px!important;

    margin:0 0 5px!important;

    padding:0 0 0 22px!important;

    border-left:2px solid var(--gal-gold);
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro p),
.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro span){

    font-family:var(--gal-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.74;

    color:var(--gal-body);
}


/* ============================================================
   13. GALLERY VISUAL GRID
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual{

    position:relative;

    z-index:4;

    display:grid!important;

    grid-template-columns:

        minmax(280px,.70fr)
        minmax(0,1.30fr)

        !important;

    align-items:stretch!important;

    gap:var(--gal-gap)!important;

    width:100%!important;

    min-width:0;

    margin:clamp(36px,3.8vw,54px) 0 0!important;

    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual::before{

    content:"BALI · INDONESIA";

    position:absolute;

    top:-24px;
    right:0;

    color:rgba(16,34,47,.46);

    font-family:var(--gal-font-body);

    font-size:8.5px;

    font-weight:600;

    line-height:1;

    letter-spacing:.17em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual::after{

    content:"";

    position:absolute;

    top:-17px;
    left:0;

    width:54px;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            transparent
        );
}


/* ============================================================
   14. LEFT FEATURE — ARCH
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left{

    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    width:100%!important;

    min-width:0!important;

    height:clamp(540px,46vw,650px);

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:var(--gal-arch);

    background:var(--gal-blush);

    box-shadow:
        0 24px 52px rgba(4,30,51,.16),
        0 0 0 1px rgba(77,192,255,.16);
}


/* ============================================================
   15. LEFT IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image{

    position:relative;

    z-index:1;

    width:100%!important;

    height:100%!important;

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image .elementor-widget-container{

    position:relative;

    width:100%!important;

    height:100%!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image img{

    position:relative;

    z-index:0;

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    border-radius:inherit;

    transform:scale(1.001);

    transition:
        transform .9s var(--gal-ease),
        filter .7s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image .elementor-widget-container::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.10) 0%,
            transparent 44%,
            rgba(4,30,51,.42) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image::before{

    content:"01 / ISLAND MOMENTS";

    position:absolute;

    z-index:4;

    /* v22 : dipindah ke TENGAH atas agar tidak
       terpotong lengkungan arch */
    left:50%;
    top:20px;

    transform:translateX(-50%);

    white-space:nowrap;

    padding:8px 12px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:999px;

    color:rgba(234,247,255,.95);

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.78),
            rgba(4,30,51,.66)
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    font-family:var(--gal-font-body);

    font-size:8px;

    font-weight:600;

    letter-spacing:.14em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image::after{

    content:"BALI";

    position:absolute;

    z-index:4;

    left:20px;
    bottom:18px;

    color:rgba(255,255,255,.95);

    font-family:var(--gal-font-display);

    font-size:22px;

    line-height:1;

    letter-spacing:.02em;

    text-shadow:0 3px 16px rgba(4,30,51,.45);

    pointer-events:none;
}


/* ============================================================
   16. LEFT IMAGE HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left:hover .gallery-left-image img{

        transform:scale(1.035);

        filter:saturate(1.04) contrast(1.025);
    }

}


/* ============================================================
   17. RIGHT FEATURE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

    position:relative;

    z-index:2;

    display:grid!important;

    grid-template-columns:minmax(0,1fr)!important;

    grid-template-rows:

        minmax(0,1fr)
        auto!important;

    align-items:stretch!important;

    gap:var(--gal-gap)!important;

    width:100%!important;

    min-width:0!important;

    height:clamp(540px,46vw,650px);

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   18. MAIN IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image{

    position:relative;

    z-index:1;

    width:100%!important;

    min-width:0!important;

    min-height:0;

    height:100%!important;

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:22px 5px 22px 22px;

    background:var(--gal-blush);

    box-shadow:
        0 22px 46px rgba(4,30,51,.14),
        0 0 0 1px rgba(77,192,255,.14);
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image .elementor-widget-container{

    position:relative;

    width:100%!important;

    height:100%!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image img{

    position:relative;

    z-index:0;

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    border-radius:inherit;

    transform:scale(1.001);

    transition:
        transform .95s var(--gal-ease),
        filter .7s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image .elementor-widget-container::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.08),
            transparent 50%,
            rgba(4,30,51,.30)
        );
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image::before{

    content:"02 / LANDSCAPES";

    position:absolute;

    z-index:5;

    left:18px;
    top:18px;

    padding:8px 12px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:999px;

    color:rgba(234,247,255,.96);

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.76),
            rgba(4,30,51,.64)
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    font-family:var(--gal-font-body);

    font-size:8px;

    font-weight:600;

    letter-spacing:.14em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image::after{

    content:"SEE BALI DIFFERENTLY";

    position:absolute;

    z-index:5;

    right:20px;
    bottom:18px;

    color:rgba(255,255,255,.92);

    font-family:var(--gal-font-body);

    font-size:8.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-shadow:0 2px 12px rgba(4,30,51,.45);

    pointer-events:none;
}


/* ============================================================
   19. MAIN IMAGE HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image:hover img{

        transform:scale(1.028);

        filter:saturate(1.035) contrast(1.02);
    }

}


/* ============================================================
   20. CAROUSEL WRAPPER
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel{

    position:relative;

    z-index:3;

    width:100%!important;

    min-width:0!important;

    margin:0!important;

    padding:0 0 28px!important;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-widget-container{

    width:100%!important;

    min-width:0!important;

    overflow:hidden!important;
}


/* ============================================================
   21. SWIPER ROOT
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
:is(
    .swiper,
    .swiper-container,
    .swiper-initialized,
    .elementor-main-swiper,
    .elementor-swiper
){

    width:100%!important;

    max-width:100%!important;

    min-width:0!important;

    overflow:hidden!important;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-wrapper{

    align-items:stretch!important;
}


/* ============================================================
   22. CAROUSEL SLIDE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

    position:relative;

    height:clamp(145px,13.2vw,188px)!important;

    min-height:0!important;

    overflow:hidden;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:var(--gal-white);

    box-shadow:0 12px 28px rgba(4,30,51,.07);

    transition:
        transform .5s var(--gal-ease),
        border-color .4s ease,
        box-shadow .45s ease,
        opacity .4s ease;

    opacity:.91;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide::before{

    content:"";

    position:absolute;

    z-index:7;

    left:13px;
    top:0;

    width:34px;
    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );

    transition:width .45s var(--gal-ease);
}


/* ============================================================
   23. CAROUSEL IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-carousel-image,

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide .elementor-carousel-image{

    display:block!important;

    width:100%!important;

    height:100%!important;

    min-height:100%!important;

    background-size:cover!important;

    background-position:center center!important;

    background-repeat:no-repeat!important;

    transform:scale(1.001);

    transition:
        transform .75s var(--gal-ease),
        filter .6s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide img{

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    transform:scale(1.001);

    transition:
        transform .75s var(--gal-ease),
        filter .6s ease;
}


/* ============================================================
   24. CAROUSEL OVERLAY
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:4;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 56%,
            rgba(4,30,51,.22)
        );

    opacity:.70;

    transition:opacity .45s ease;
}


/* ============================================================
   25. CAROUSEL HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide:hover{

        opacity:1;

        transform:translateY(-5px);

        border-color:rgba(77,192,255,.52);

        box-shadow:0 20px 38px rgba(4,30,51,.13);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide:hover
    .elementor-carousel-image,

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide:hover img{

        transform:scale(1.035);

        filter:saturate(1.04) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide:hover::before{

        width:70px;

        box-shadow:0 2px 12px rgba(77,192,255,.45);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide:hover::after{

        opacity:.30;
    }

}


/* ============================================================
   26. SLIDE AKTIF
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide-active{

    opacity:1;

    border-color:rgba(77,192,255,.55);

    /* v22 : ring biru tipis pada slide aktif */
    box-shadow:
        0 16px 34px rgba(4,30,51,.10),
        0 0 0 3px rgba(77,192,255,.14);
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide-active::before{

    width:58px;

    box-shadow:0 2px 12px rgba(77,192,255,.42);
}


/* ============================================================
   27. CAROUSEL CAPTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-carousel figcaption),
.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-carousel .elementor-image-carousel-caption),
.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-carousel .elementor-carousel-image-overlay){

    font-family:var(--gal-font-body);

    font-size:11px;

    line-height:1.4;

    color:#FFFFFF;
}


/* ============================================================
   28. PAGINATION
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination{

    position:absolute!important;

    left:50%!important;

    bottom:2px!important;

    width:auto!important;

    transform:translateX(-50%);

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:2px;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination-bullet{

    width:6px!important;

    height:6px!important;

    margin:0 4px!important;

    opacity:.32;

    border-radius:999px!important;

    background:var(--gal-maroon)!important;

    transition:
        width .35s var(--gal-ease),
        opacity .35s ease,
        background .35s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination-bullet-active{

    width:26px!important;

    opacity:1;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        )!important;

    box-shadow:0 2px 10px rgba(77,192,255,.45);
}


/* ============================================================
   29. PANAH CAROUSEL
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
:is(
    .elementor-swiper-button,
    .swiper-button-prev,
    .swiper-button-next
){

    width:42px!important;

    height:42px!important;

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    margin:0!important;

    color:#FFFFFF!important;

    border:1px solid rgba(255,255,255,.28);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            rgba(77,192,255,.94),
            rgba(30,143,214,.94) 58%,
            rgba(10,92,143,.94)
        );

    box-shadow:
        0 10px 24px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.36);

    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);

    /* v22 : tersembunyi dulu agar foto tidak tertutup */
    opacity:0;

    transform:scale(.88);

    pointer-events:none;

    transition:
        opacity .35s ease,
        transform .35s var(--gal-ease),
        box-shadow .35s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-swiper-button svg,

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
:is(
    .swiper-button-prev,
    .swiper-button-next
)::after{

    font-size:13px!important;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel:hover
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ){

        opacity:1;

        transform:scale(1);

        pointer-events:auto;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ):hover{

        transform:scale(1.10)!important;

        box-shadow:
            0 15px 32px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.46);
    }

}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
:is(
    .elementor-swiper-button-prev,
    .swiper-button-prev
){

    left:10px!important;
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
:is(
    .elementor-swiper-button-next,
    .swiper-button-next
){

    right:10px!important;
}


/* ============================================================
   ============================================================
   30. TOMBOL BAWAH  —  .gallery-cta   (BARU di v22)

   Pasang class  gallery-cta  pada widget Button
   yang ada di bawah carousel.

   v24 : PERBAIKAN ALIGNMENT ICON & TEXT
   ============================================================
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta{

    position:relative;

    z-index:4;

    width:100%!important;

    margin-top:clamp(24px,2.6vw,38px)!important;

    text-align:center;
}


/* garis tipis di atas tombol */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta::before{

    content:"";

    position:absolute;

    left:50%;
    top:-16px;

    width:min(320px,64%);
    height:1px;

    transform:translateX(-50%);

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.48),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    overflow:hidden;

    box-shadow:
        0 14px 32px rgba(30,143,214,.30),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .40s var(--gal-ease),
        box-shadow .40s var(--gal-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease;
}


/* v24 : FIX ALIGNMENT — wrapper internal Elementor
   (.elementor-button-content-wrapper) sebelumnya tidak
   diatur flex/align, sehingga icon & text tidak center
   secara vertikal satu sama lain. Ini akar masalah
   "tidak lurus" pada tombol. */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button-content-wrapper{

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:10px;

    width:100%;

    line-height:1;
}


/* tampilan tombol — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button){

    padding:15px 34px;

    min-height:54px;

    border:1px solid rgba(255,255,255,.30);

    border-radius:999px;

    background:
        linear-gradient(
            138deg,
            var(--gal-gold) 0%,
            var(--gal-red) 56%,
            var(--gal-red-dark) 100%
        );

    color:#05202F;
}


/* v23 : TIPOGRAFI TOMBOL — selektor normal (0,2,1)

   Menang atas Global Font Elementor (0,2,0),
   tapi kalah dari Typography per-widget (0,3,0).
   Jadi default Poppins, dan panel tetap bisa mengubahnya. */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button-text{

    font-family:var(--gal-font-body);

    font-size:15px;

    font-weight:600;

    font-style:normal;

    letter-spacing:.015em;

    line-height:1.2;

    text-transform:none;
}


/* v24 : FIX ALIGNMENT — pastikan text tidak punya
   margin/line-height liar yang menggeser posisi vertikal */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button-text{

    display:inline-flex;

    align-items:center;

    margin:0;

    line-height:1;
}


/* ikon dalam lingkaran di sisi kanan */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    margin:0;

    transition:
        transform .40s var(--gal-ease),
        background .34s ease;
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button-icon){

    width:30px;

    height:30px;

    border-radius:50%;

    background:rgba(255,255,255,.30);

    color:#FFFFFF;
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button-icon svg){

    width:14px;

    height:14px;

    fill:currentColor;

    display:block;
}


.elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button-icon i){

    font-size:14px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}


/* kilau melintas */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:46%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.20) 24%,
            rgba(255,255,255,.72) 50%,
            rgba(255,255,255,.20) 76%,
            transparent
        );

    transition:left .85s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--gal-sky-light) 0%,
                var(--gal-gold) 52%,
                var(--gal-red) 100%
            );

        border-color:rgba(255,255,255,.46);

        box-shadow:
            0 22px 46px rgba(77,192,255,.44),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(4px);

        background:rgba(255,255,255,.48);
    }

}


/* ============================================================
   LARGE DESKTOP  >= 1600
============================================================ */

@media(min-width:1600px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-max:1480px;

        --gal-arch:170px 170px 24px 24px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

        height:675px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        height:195px!important;
    }

}


/* ============================================================
   LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-arch:130px 130px 20px 20px;

        padding-left:42px!important;

        padding-right:42px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-header{

        grid-template-columns:

            minmax(0,1.1fr)
            minmax(300px,.7fr)

            !important;

        gap:62px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:clamp(46px,4.9vw,66px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual{

        grid-template-columns:

            minmax(275px,.72fr)
            minmax(0,1.28fr)

            !important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

        height:clamp(535px,48vw,590px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        height:clamp(142px,13.5vw,175px)!important;
    }

}


/* ============================================================
   TABLET LANDSCAPE  821 - 1024
============================================================ */

@media(min-width:821px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-arch:120px 120px 18px 18px;

        padding:64px 30px 74px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:clamp(44px,6.6vw,58px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-intro{

        max-width:670px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual{

        grid-template-columns:

            minmax(240px,.68fr)
            minmax(0,1.32fr)

            !important;

        gap:10px!important;

        margin-top:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

        height:clamp(475px,58vw,535px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image{

        border-radius:18px 5px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        height:clamp(130px,17vw,165px)!important;
    }

}


/* ============================================================
   TABLET PORTRAIT  768 - 820
============================================================ */

@media(min-width:768px) and (max-width:820px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-arch:115px 115px 18px 18px;

        padding:62px 28px 72px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:38px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:clamp(42px,6.6vw,54px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-intro{

        max-width:620px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual{

        display:grid!important;

        grid-template-columns:

            minmax(0,.78fr)
            minmax(0,1.22fr)

            !important;

        grid-template-rows:

            365px
            auto!important;

        gap:10px!important;

        margin-top:37px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

        display:contents!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left{

        grid-column:1;
        grid-row:1;

        width:100%!important;

        height:100%!important;

        min-height:0;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image{

        grid-column:2;
        grid-row:1;

        width:100%!important;

        height:100%!important;

        min-height:0;

        border-radius:18px 5px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel{

        grid-column:1 / -1;
        grid-row:2;

        width:100%!important;

        min-width:0!important;

        margin-top:2px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        height:175px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual::before{

        display:none;
    }

}


/* ============================================================
   ============================================================
   MOBILE  <= 767   —  DIPERBAIKI TOTAL DI v21

   Urutan: MAIN IMAGE -> PORTRAIT -> CAROUSEL
   ============================================================
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-arch:100px 100px 16px 16px;

        /* v21 : padding bawah dipangkas dari 64px */
        padding:

            50px
            clamp(17px,5vw,23px)
            34px

            !important;
    }


    /* angka section */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-shell::before{

        top:-22px;

        right:0;

        font-size:58px;
    }


    /* v21 : watermark dikecilkan dan ditarik ke dalam
       supaya tidak menciptakan ruang kosong di bawah */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-shell::after{

        left:-2px;

        bottom:-14px;

        font-size:clamp(58px,19vw,86px);

        opacity:.42;
    }


    /* ---------- HEADER ---------- */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:18px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow{

        margin-bottom:11px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title{

        padding-left:29px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-eyebrow .elementor-heading-title){

        font-size:9.5px;

        letter-spacing:.15em;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::before{

        width:20px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::after{

        font-size:7.5px;

        margin-left:2px;

        padding-left:8px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:clamp(36px,10.5vw,46px);

        line-height:1.05;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-title::after{

        width:51px;

        margin-top:14px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-intro{

        max-width:100%!important;

        margin:0!important;

        padding-left:16px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro p),
    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-intro span){

        font-size:15.5px;

        line-height:1.70;
    }


    /* ---------- VISUAL ---------- */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual{

        display:flex!important;

        flex-direction:column!important;

        align-items:stretch!important;

        gap:11px!important;

        width:100%!important;

        margin-top:26px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-right{

        display:contents!important;
    }


    /* MAIN duluan */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image{

        order:1;

        width:100%!important;

        height:auto!important;

        min-height:0;

        aspect-ratio:16 / 10;

        border-radius:16px 4px 16px 16px;
    }


    /* PORTRAIT kedua */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left{

        order:2;

        width:100%!important;

        height:auto!important;

        min-height:0;

        aspect-ratio:4 / 5;
    }


    /* ============================================
       CAROUSEL — INTI PERBAIKAN v21
       ============================================ */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel{

        order:3;

        width:100%!important;

        /* v21 : padding bawah dihapus.
           Dulu 27px + pagination absolute = menumpuk */
        margin:0!important;

        padding:0!important;

        overflow:visible!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-widget-container{

        overflow:visible!important;
    }


    /* v21 : tinggi wadah swiper dilepas.
       Ini penyebab utama ruang kosong besar —
       Elementor memberi tinggi tetap sesuai rasio
       gambar asli, sedangkan slide dipaksa lebih pendek. */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
    :is(
        .swiper,
        .swiper-container,
        .swiper-initialized,
        .elementor-main-swiper,
        .elementor-swiper,
        .elementor-image-carousel-wrapper
    ){

        height:auto!important;

        min-height:0!important;

        max-height:none!important;

        padding:0!important;

        overflow:hidden!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-wrapper{

        height:auto!important;

        min-height:0!important;

        align-items:stretch!important;
    }


    /* v21 : slide pakai rasio, bukan tinggi tetap.
       Dengan begitu tinggi wadah mengikuti slide,
       tidak ada sisa ruang di dalam carousel. */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        height:auto!important;

        min-height:0!important;

        aspect-ratio:4 / 3;

        border-radius:14px 4px 14px 14px;

        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide
    :is(
        .elementor-carousel-image,
        img,
        figure,
        .swiper-slide-inner
    ){

        height:100%!important;

        min-height:0!important;

        margin:0!important;
    }


    /* v21 : pagination tidak lagi absolute.
       Sekarang mengalir normal di bawah carousel
       dengan jarak kecil yang terkendali. */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination{

        position:static!important;

        left:auto!important;

        bottom:auto!important;

        width:100%!important;

        transform:none!important;

        margin-top:13px!important;

        gap:0;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination-bullet{

        width:5px!important;

        height:5px!important;

        margin:0 3px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-pagination-bullet-active{

        width:20px!important;
    }


    /* panah disembunyikan di mobile */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ){

        display:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual::before,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual::after{

        display:none;
    }


    /* ---------- TOMBOL BAWAH ---------- */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta{

        margin-top:20px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta::before{

        top:-12px;

        width:min(220px,72%);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button{

        width:100%;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button){

        padding:14px 22px;

        min-height:52px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-cta .elementor-button-text{

        font-size:14.5px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-cta .elementor-button-icon){

        width:27px;

        height:27px;
    }


    /* ---------- LABEL FOTO ---------- */

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image::before{

        left:13px;

        top:13px;

        padding:7px 10px;

        font-size:7px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image::before{

        top:14px;

        padding:7px 10px;

        font-size:7px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image::after{

        left:15px;

        bottom:14px;

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image::after{

        right:15px;

        bottom:14px;

        font-size:7px;
    }

}


/* ============================================================
   SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        --gal-arch:88px 88px 14px 14px;

        padding-left:max(17px,env(safe-area-inset-left))!important;

        padding-right:max(17px,env(safe-area-inset-right))!important;

        padding-bottom:30px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:clamp(33px,10vw,41px);
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::after{

        content:"JOURNAL";
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image{

        aspect-ratio:16 / 10.5;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        aspect-ratio:4 / 3;
    }

}


/* ============================================================
   VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-235b59d{

        padding-top:44px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d :where(.gallery-title .elementor-heading-title){

        font-size:32px;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-eyebrow .elementor-heading-title::after{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide{

        aspect-ratio:16 / 11;
    }

}


/* ============================================================
   TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image img,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image img,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-slide,
    .elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-carousel-image{

        transform:none!important;
    }

}


/* ============================================================
   ANTI OVERFLOW
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d .gallery-header,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-header-left,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-intro,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-visual,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-left-image,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-right,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-main-image,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper,
.elementor-754 .elementor-element.elementor-element-235b59d .gallery-carousel .swiper-container{

    min-width:0!important;

    max-width:100%;
}


/* ============================================================
   AKSESIBILITAS
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d a:focus-visible,
.elementor-754 .elementor-element.elementor-element-235b59d button:focus-visible{

    outline:2px solid var(--gal-gold);

    outline-offset:4px;

    border-radius:8px;
}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-235b59d *,
    .elementor-754 .elementor-element.elementor-element-235b59d *::before,
    .elementor-754 .elementor-element.elementor-element-235b59d *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   TEXT SELECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-235b59d ::selection{

    color:var(--gal-maroon-dark);

    background:var(--gal-gold);
}


/* ============================================================
   ============================================================
   CATATAN

   1. Kalau di mobile masih ada sisa ruang, periksa
      widget Media Carousel:
         Content > Slides Per View (Mobile) = 1
         Content > Image Stretch = Yes
         Style > Slides > Height : KOSONGKAN
      Nilai Height di panel akan menimpa aturan
      height:auto dari CSS ini.

   2. Jarak ke tombol "See More" diatur dari
      Margin Top tombol itu sendiri, bukan dari CSS ini.
      Set sekitar 18-24px di tab Mobile.

   3. Tinggi slide di mobile kini memakai aspect-ratio.
      Ubah di blok MOBILE:
         aspect-ratio:4 / 3;   -> lebih tinggi
         aspect-ratio:16 / 9;  -> lebih pendek

   4. Semua tipografi memakai :where() -> tetap bisa
      diatur dari Style > Typography.

   5. TOMBOL di bawah carousel:
      pasang class  gallery-cta  pada widget Button-nya.
      Kosongkan Style > Background & Border di panel
      agar tampilan dari CSS ini yang dipakai.

   6. FONT TOMBOL (v23):
      Default sudah Poppins 600 / 15px.
      Untuk mengubahnya: klik widget Button >
      Style > Typography > atur Family, Size, Weight.
      Pengaturan panel selalu menang atas CSS ini.

      Kalau panel ternyata tidak berefek, penyebabnya
      Global Font masih menempel. Klik ikon globe kecil
      di sebelah Typography, lalu pilih "Custom".

   7. ALIGNMENT ICON & TEXT TOMBOL (v24):
      Perbaikan dilakukan dengan menambahkan flex/align
      pada .elementor-button-content-wrapper dan
      .elementor-button-text. Kalau widget Button Anda
      ternyata TIDAK memakai wrapper ini (struktur HTML
      beda karena versi Elementor berbeda), alignment akan
      tetap benar karena .elementor-button dan
      .elementor-button-icon sudah diatur flex + align
      sejak awal.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2d15c9e *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   GALLERY — "AZURE VISUAL JOURNAL" V24

   PASTE:
   GALLERY HIGH END
   → Advanced
   → Custom CSS

   CLASS TETAP SAMA:
   gallery-shell / gallery-header / gallery-header-left
   gallery-eyebrow / gallery-title / gallery-intro
   gallery-visual / gallery-left / gallery-left-image
   gallery-right / gallery-main-image / gallery-carousel

   CLASS BARU v22:
   gallery-cta   -> widget Button di bawah carousel

   ------------------------------------------------------------
   PERBAIKAN v24 — ALIGNMENT ICON & TEXT TOMBOL
   ------------------------------------------------------------
   MASALAH:
   Icon panah dan teks "See More" tidak lurus secara
   vertikal di dalam tombol.

   PENYEBAB:
   Struktur asli widget Button Elementor punya wrapper
   tambahan di antara .elementor-button dan
   .elementor-button-icon / .elementor-button-text, yaitu
   .elementor-button-content-wrapper. Wrapper ini sebelumnya
   TIDAK diatur flex/align, sehingga icon dan text tidak
   benar-benar center satu sama lain secara vertikal.

   SOLUSI:
   - .elementor-button-content-wrapper diberi
     display:flex + align-items:center + justify-content:center
   - .elementor-button-text diberi flex + align-items:center
     + margin:0 supaya tidak ada baseline/line-height liar
   - svg icon diberi display:block untuk hilangkan gap kecil
     bawaan inline SVG
   - warna icon diubah menjadi putih (#FFFFFF)

   Tidak ada bagian lain dari CSS yang diubah.

   ------------------------------------------------------------
   PERBAIKAN v21 — RUANG KOSONG DI MOBILE
   ------------------------------------------------------------
   Penyebab ruang kosong besar di bawah carousel:

   1. Elementor memberi tinggi tetap pada wadah swiper
      sesuai rasio gambar asli, sedangkan CSS memaksa
      tinggi slide lebih pendek. Selisihnya jadi ruang
      kosong DI DALAM carousel.

   2. Pagination memakai position:absolute dengan
      bottom:2px, sementara wrapper sudah diberi
      padding-bottom 27px -> jaraknya menumpuk.

   3. Watermark "GALLERY" berukuran besar mendorong
      area bawah section.

   Solusi v21:
   - swiper, swiper-container, dan swiper-wrapper
     dipaksa height:auto di mobile.
   - slide memakai aspect-ratio, bukan tinggi tetap.
   - pagination jadi position:static, mengalir normal
     di bawah carousel dengan margin kecil.
   - padding bawah section dan watermark dirapikan.

   ------------------------------------------------------------
   PERBAIKAN v22
   ------------------------------------------------------------
   1. TOMBOL di bawah carousel akhirnya distyle.
      Class baru: gallery-cta
   2. Label "01 / ISLAND MOMENTS" dipindah ke TENGAH atas
      foto arch. Sebelumnya terpotong lengkungan.
   3. Panah carousel tidak lagi menutupi foto:
      default tersembunyi, muncul halus saat kursor
      masuk area carousel.
   4. Slide carousel dapat sudut & bayangan lebih rapi,
      slide aktif diberi ring biru tipis.
   5. Watermark "GALLERY" dirapikan agar tidak terpotong.

   ------------------------------------------------------------
   PERBAIKAN v23 — FONT TOMBOL
   ------------------------------------------------------------
   MASALAH:
   Font tombol tidak jadi Poppins, melainkan font Accent
   bawaan Global Fonts Elementor.

   PENYEBAB:
   Aturan font tombol dibungkus :where() -> spesifisitas NOL.
   Elementor menulis Global Font tombol dengan selektor
   .elementor-kit-XX .elementor-button  = spesifisitas (0,2,0).
   Jadi aturan :where() kalah.

   SOLUSI:
   Font tombol kini memakai selektor normal
   (spesifisitas 0,2,1) sehingga MENANG atas Global Font,
   tetapi TETAP BISA DITIMPA dari panel, karena Elementor
   menulis Typography per-widget dengan selektor
   .elementor-element.elementor-element-XXX .elementor-button
   = spesifisitas (0,3,0), lebih tinggi dari aturan ini.

   Artinya: default jadi Poppins, dan begitu Anda atur
   Style > Typography, panel yang dipakai.

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ------------------------------------------------------------
   Semua aturan font dibungkus :where() -> spesifisitas NOL.
   Panel Elementor selalu menang.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e{

    --gal-maroon:#063A5E;
    --gal-maroon-dark:#041E33;

    --gal-red:#1E8FD6;
    --gal-red-dark:#0A5C8F;

    --gal-brick:#0A5C8F;
    --gal-gold:#4DC0FF;

    --gal-sky-light:#8BD8FF;

    --gal-ivory:#EAF4FC;
    --gal-ivory-light:#F8FCFF;

    --gal-blush:#D7ECF9;

    --gal-charcoal:#10222F;
    --gal-white:#FFFFFF;

    --gal-body:rgba(16,34,47,.74);
    --gal-muted:rgba(16,34,47,.56);

    --gal-line:rgba(30,143,214,.20);
    --gal-line-soft:rgba(30,143,214,.10);

    --gal-max:1420px;

    --gal-gap:12px;

    --gal-font-display:"DM Serif Display",Georgia,serif;
    --gal-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --gal-arch:150px 150px 22px 22px;

    --gal-ease:cubic-bezier(.22,1,.36,1);


    position:relative;

    isolation:isolate;

    width:100%!important;
    max-width:none!important;

    min-width:0;

    margin:0!important;

    padding:

        clamp(72px,6.5vw,110px)
        clamp(20px,5vw,76px)
        clamp(70px,6.5vw,108px)

        !important;

    overflow:hidden;

    color:var(--gal-charcoal);

    font-family:var(--gal-font-body);

    background:

        radial-gradient(
            circle at 7% 9%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 94% 17%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 84% 90%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            #F8FCFF 0%,
            #F1F8FD 54%,
            #EAF4FC 100%
        )

        !important;
}


/* ============================================================
   02. GLOBAL RESET INSIDE SECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e *,
.elementor-754 .elementor-element.elementor-element-2d15c9e *::before,
.elementor-754 .elementor-element.elementor-element-2d15c9e *::after{

    box-sizing:border-box;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .e-con,
.elementor-754 .elementor-element.elementor-element-2d15c9e .elementor-element,
.elementor-754 .elementor-element.elementor-element-2d15c9e .elementor-widget,
.elementor-754 .elementor-element.elementor-element-2d15c9e .elementor-widget-container{

    min-width:0;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e img{

    max-width:100%;
}


/* ============================================================
   03. TEKSTUR TITIK HALUS
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-10;

    pointer-events:none;

    opacity:.24;

    background-image:

        radial-gradient(
            rgba(30,143,214,.16) .65px,
            transparent .65px
        );

    background-size:34px 34px;

    -webkit-mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );

    mask-image:

        linear-gradient(
            115deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.25) 40%,
            transparent 76%
        );
}


/* ============================================================
   04. AMBIENT BLUE LIGHT
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e::after{

    content:"";

    position:absolute;

    z-index:-9;

    pointer-events:none;

    width:clamp(440px,48vw,760px);

    height:clamp(440px,48vw,760px);

    right:clamp(-360px,-18vw,-180px);

    top:clamp(-330px,-15vw,-160px);

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(77,192,255,.20),
            rgba(30,143,214,.06) 43%,
            transparent 70%
        );

    animation:galleryAmbient 12s ease-in-out infinite;
}


@keyframes galleryAmbient{

    0%,100%{
        opacity:.75;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }

}


/* ============================================================
   05. GALLERY SHELL
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-shell{

    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:var(--gal-max)!important;

    min-width:0;

    margin:0 auto!important;

    padding:0!important;
}


/* ============================================================
   06. ANGKA SECTION "04"
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-shell::before{

    content:"04";

    position:absolute;

    right:-4px;
    top:-58px;

    z-index:-2;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--gal-font-display);

    font-size:clamp(80px,8.5vw,138px);

    line-height:1;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.17);

    opacity:.9;
}


/* ============================================================
   07. WATERMARK "GALLERY"
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-shell::after{

    content:"GALLERY";

    position:absolute;

    left:-3px;
    bottom:-48px;

    z-index:-3;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--gal-font-display);

    font-size:clamp(100px,13.5vw,198px);

    line-height:.78;

    letter-spacing:-.05em;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.8;
}


/* ============================================================
   08. GALLERY HEADER
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header{

    position:relative;

    z-index:5;

    display:grid!important;

    grid-template-columns:

        minmax(0,1.15fr)
        minmax(320px,.68fr)

        !important;

    align-items:end!important;

    gap:clamp(56px,7vw,125px)!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0 0 clamp(44px,4.6vw,64px)!important;

    border-bottom:1px solid var(--gal-line);
}


/* ============================================================
   09. HEADER LEFT
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header-left{

    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    justify-content:flex-end!important;

    gap:0!important;

    width:100%!important;

    min-width:0;

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   10. GALLERY EYEBROW
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow{

    margin:0 0 16px!important;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title{

    position:relative;

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin:0;

    padding-left:37px;

    text-transform:uppercase;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-eyebrow .elementor-heading-title){

    font-family:var(--gal-font-body);

    font-size:11px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.17em;

    color:var(--gal-red);
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:27px;
    height:2px;

    transform:translateY(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::after{

    content:"VISUAL JOURNAL";

    margin-left:5px;

    padding-left:12px;

    border-left:1px solid rgba(30,143,214,.24);

    color:rgba(16,34,47,.50);

    font-size:9px;

    font-weight:600;

    letter-spacing:.15em;
}


/* ============================================================
   11. GALLERY TITLE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-title{

    position:relative;

    width:100%!important;

    max-width:710px!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

    margin:0;

    font-family:var(--gal-font-display);

    font-weight:400;

    font-size:clamp(50px,5.2vw,80px);

    line-height:1.02;

    letter-spacing:-.026em;

    color:var(--gal-maroon);
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-title .elementor-heading-title{

    text-wrap:balance;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--gal-gold) 0%,
            var(--gal-red) 55%,
            var(--gal-red-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-title::after{

    content:"";

    display:block;

    width:64px;
    height:2px;

    margin-top:22px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            rgba(77,192,255,.35),
            transparent
        );

    box-shadow:0 2px 12px rgba(77,192,255,.30);

    transition:width .55s var(--gal-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header:hover .gallery-title::after{

        width:125px;
    }

}


/* ============================================================
   12. GALLERY INTRO
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-intro{

    position:relative;

    align-self:end;

    width:100%!important;

    max-width:470px!important;

    margin:0 0 5px!important;

    padding:0 0 0 22px!important;

    border-left:2px solid var(--gal-gold);
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro p),
.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro span){

    font-family:var(--gal-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.74;

    color:var(--gal-body);
}


/* ============================================================
   13. GALLERY VISUAL GRID
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual{

    position:relative;

    z-index:4;

    display:grid!important;

    grid-template-columns:

        minmax(280px,.70fr)
        minmax(0,1.30fr)

        !important;

    align-items:stretch!important;

    gap:var(--gal-gap)!important;

    width:100%!important;

    min-width:0;

    margin:clamp(36px,3.8vw,54px) 0 0!important;

    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual::before{

    content:"BALI · INDONESIA";

    position:absolute;

    top:-24px;
    right:0;

    color:rgba(16,34,47,.46);

    font-family:var(--gal-font-body);

    font-size:8.5px;

    font-weight:600;

    line-height:1;

    letter-spacing:.17em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual::after{

    content:"";

    position:absolute;

    top:-17px;
    left:0;

    width:54px;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            transparent
        );
}


/* ============================================================
   14. LEFT FEATURE — ARCH
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left{

    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    width:100%!important;

    min-width:0!important;

    height:clamp(540px,46vw,650px);

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:var(--gal-arch);

    background:var(--gal-blush);

    box-shadow:
        0 24px 52px rgba(4,30,51,.16),
        0 0 0 1px rgba(77,192,255,.16);
}


/* ============================================================
   15. LEFT IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image{

    position:relative;

    z-index:1;

    width:100%!important;

    height:100%!important;

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image .elementor-widget-container{

    position:relative;

    width:100%!important;

    height:100%!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image img{

    position:relative;

    z-index:0;

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    border-radius:inherit;

    transform:scale(1.001);

    transition:
        transform .9s var(--gal-ease),
        filter .7s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image .elementor-widget-container::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.10) 0%,
            transparent 44%,
            rgba(4,30,51,.42) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image::before{

    content:"01 / ISLAND MOMENTS";

    position:absolute;

    z-index:4;

    /* v22 : dipindah ke TENGAH atas agar tidak
       terpotong lengkungan arch */
    left:50%;
    top:20px;

    transform:translateX(-50%);

    white-space:nowrap;

    padding:8px 12px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:999px;

    color:rgba(234,247,255,.95);

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.78),
            rgba(4,30,51,.66)
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    font-family:var(--gal-font-body);

    font-size:8px;

    font-weight:600;

    letter-spacing:.14em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image::after{

    content:"BALI";

    position:absolute;

    z-index:4;

    left:20px;
    bottom:18px;

    color:rgba(255,255,255,.95);

    font-family:var(--gal-font-display);

    font-size:22px;

    line-height:1;

    letter-spacing:.02em;

    text-shadow:0 3px 16px rgba(4,30,51,.45);

    pointer-events:none;
}


/* ============================================================
   16. LEFT IMAGE HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left:hover .gallery-left-image img{

        transform:scale(1.035);

        filter:saturate(1.04) contrast(1.025);
    }

}


/* ============================================================
   17. RIGHT FEATURE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

    position:relative;

    z-index:2;

    display:grid!important;

    grid-template-columns:minmax(0,1fr)!important;

    grid-template-rows:

        minmax(0,1fr)
        auto!important;

    align-items:stretch!important;

    gap:var(--gal-gap)!important;

    width:100%!important;

    min-width:0!important;

    height:clamp(540px,46vw,650px);

    margin:0!important;

    padding:0!important;
}


/* ============================================================
   18. MAIN IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image{

    position:relative;

    z-index:1;

    width:100%!important;

    min-width:0!important;

    min-height:0;

    height:100%!important;

    margin:0!important;

    padding:0!important;

    overflow:hidden;

    border-radius:22px 5px 22px 22px;

    background:var(--gal-blush);

    box-shadow:
        0 22px 46px rgba(4,30,51,.14),
        0 0 0 1px rgba(77,192,255,.14);
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image .elementor-widget-container{

    position:relative;

    width:100%!important;

    height:100%!important;

    overflow:hidden;

    border-radius:inherit;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image img{

    position:relative;

    z-index:0;

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    border-radius:inherit;

    transform:scale(1.001);

    transition:
        transform .95s var(--gal-ease),
        filter .7s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image .elementor-widget-container::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            rgba(4,30,51,.08),
            transparent 50%,
            rgba(4,30,51,.30)
        );
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image::before{

    content:"02 / LANDSCAPES";

    position:absolute;

    z-index:5;

    left:18px;
    top:18px;

    padding:8px 12px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:999px;

    color:rgba(234,247,255,.96);

    background:
        linear-gradient(
            135deg,
            rgba(6,58,94,.76),
            rgba(4,30,51,.64)
        );

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);

    font-family:var(--gal-font-body);

    font-size:8px;

    font-weight:600;

    letter-spacing:.14em;

    pointer-events:none;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image::after{

    content:"SEE BALI DIFFERENTLY";

    position:absolute;

    z-index:5;

    right:20px;
    bottom:18px;

    color:rgba(255,255,255,.92);

    font-family:var(--gal-font-body);

    font-size:8.5px;

    font-weight:600;

    letter-spacing:.14em;

    text-shadow:0 2px 12px rgba(4,30,51,.45);

    pointer-events:none;
}


/* ============================================================
   19. MAIN IMAGE HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image:hover img{

        transform:scale(1.028);

        filter:saturate(1.035) contrast(1.02);
    }

}


/* ============================================================
   20. CAROUSEL WRAPPER
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel{

    position:relative;

    z-index:3;

    width:100%!important;

    min-width:0!important;

    margin:0!important;

    padding:0 0 28px!important;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-widget-container{

    width:100%!important;

    min-width:0!important;

    overflow:hidden!important;
}


/* ============================================================
   21. SWIPER ROOT
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
:is(
    .swiper,
    .swiper-container,
    .swiper-initialized,
    .elementor-main-swiper,
    .elementor-swiper
){

    width:100%!important;

    max-width:100%!important;

    min-width:0!important;

    overflow:hidden!important;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-wrapper{

    align-items:stretch!important;
}


/* ============================================================
   22. CAROUSEL SLIDE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

    position:relative;

    height:clamp(145px,13.2vw,188px)!important;

    min-height:0!important;

    overflow:hidden;

    border:1px solid rgba(30,143,214,.18);

    border-radius:16px 4px 16px 16px;

    background:var(--gal-white);

    box-shadow:0 12px 28px rgba(4,30,51,.07);

    transition:
        transform .5s var(--gal-ease),
        border-color .4s ease,
        box-shadow .45s ease,
        opacity .4s ease;

    opacity:.91;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide::before{

    content:"";

    position:absolute;

    z-index:7;

    left:13px;
    top:0;

    width:34px;
    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        );

    transition:width .45s var(--gal-ease);
}


/* ============================================================
   23. CAROUSEL IMAGE
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-carousel-image,

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide .elementor-carousel-image{

    display:block!important;

    width:100%!important;

    height:100%!important;

    min-height:100%!important;

    background-size:cover!important;

    background-position:center center!important;

    background-repeat:no-repeat!important;

    transform:scale(1.001);

    transition:
        transform .75s var(--gal-ease),
        filter .6s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide img{

    display:block;

    width:100%!important;

    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;

    object-position:center center;

    transform:scale(1.001);

    transition:
        transform .75s var(--gal-ease),
        filter .6s ease;
}


/* ============================================================
   24. CAROUSEL OVERLAY
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide::after{

    content:"";

    position:absolute;

    inset:0;

    z-index:4;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 56%,
            rgba(4,30,51,.22)
        );

    opacity:.70;

    transition:opacity .45s ease;
}


/* ============================================================
   25. CAROUSEL HOVER
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide:hover{

        opacity:1;

        transform:translateY(-5px);

        border-color:rgba(77,192,255,.52);

        box-shadow:0 20px 38px rgba(4,30,51,.13);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide:hover
    .elementor-carousel-image,

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide:hover img{

        transform:scale(1.035);

        filter:saturate(1.04) contrast(1.02);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide:hover::before{

        width:70px;

        box-shadow:0 2px 12px rgba(77,192,255,.45);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide:hover::after{

        opacity:.30;
    }

}


/* ============================================================
   26. SLIDE AKTIF
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide-active{

    opacity:1;

    border-color:rgba(77,192,255,.55);

    /* v22 : ring biru tipis pada slide aktif */
    box-shadow:
        0 16px 34px rgba(4,30,51,.10),
        0 0 0 3px rgba(77,192,255,.14);
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide-active::before{

    width:58px;

    box-shadow:0 2px 12px rgba(77,192,255,.42);
}


/* ============================================================
   27. CAROUSEL CAPTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-carousel figcaption),
.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-carousel .elementor-image-carousel-caption),
.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-carousel .elementor-carousel-image-overlay){

    font-family:var(--gal-font-body);

    font-size:11px;

    line-height:1.4;

    color:#FFFFFF;
}


/* ============================================================
   28. PAGINATION
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination{

    position:absolute!important;

    left:50%!important;

    bottom:2px!important;

    width:auto!important;

    transform:translateX(-50%);

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:2px;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination-bullet{

    width:6px!important;

    height:6px!important;

    margin:0 4px!important;

    opacity:.32;

    border-radius:999px!important;

    background:var(--gal-maroon)!important;

    transition:
        width .35s var(--gal-ease),
        opacity .35s ease,
        background .35s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination-bullet-active{

    width:26px!important;

    opacity:1;

    background:
        linear-gradient(
            90deg,
            var(--gal-gold),
            var(--gal-red)
        )!important;

    box-shadow:0 2px 10px rgba(77,192,255,.45);
}


/* ============================================================
   29. PANAH CAROUSEL
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
:is(
    .elementor-swiper-button,
    .swiper-button-prev,
    .swiper-button-next
){

    width:42px!important;

    height:42px!important;

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    margin:0!important;

    color:#FFFFFF!important;

    border:1px solid rgba(255,255,255,.28);

    border-radius:13px 4px 13px 13px;

    background:
        linear-gradient(
            138deg,
            rgba(77,192,255,.94),
            rgba(30,143,214,.94) 58%,
            rgba(10,92,143,.94)
        );

    box-shadow:
        0 10px 24px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.36);

    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);

    /* v22 : tersembunyi dulu agar foto tidak tertutup */
    opacity:0;

    transform:scale(.88);

    pointer-events:none;

    transition:
        opacity .35s ease,
        transform .35s var(--gal-ease),
        box-shadow .35s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-swiper-button svg,

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
:is(
    .swiper-button-prev,
    .swiper-button-next
)::after{

    font-size:13px!important;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel:hover
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ){

        opacity:1;

        transform:scale(1);

        pointer-events:auto;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ):hover{

        transform:scale(1.10)!important;

        box-shadow:
            0 15px 32px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.46);
    }

}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
:is(
    .elementor-swiper-button-prev,
    .swiper-button-prev
){

    left:10px!important;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
:is(
    .elementor-swiper-button-next,
    .swiper-button-next
){

    right:10px!important;
}


/* ============================================================
   ============================================================
   30. TOMBOL BAWAH  —  .gallery-cta   (BARU di v22)

   Pasang class  gallery-cta  pada widget Button
   yang ada di bawah carousel.

   v24 : PERBAIKAN ALIGNMENT ICON & TEXT
   ============================================================
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta{

    position:relative;

    z-index:4;

    width:100%!important;

    margin-top:clamp(24px,2.6vw,38px)!important;

    text-align:center;
}


/* garis tipis di atas tombol */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta::before{

    content:"";

    position:absolute;

    left:50%;
    top:-16px;

    width:min(320px,64%);
    height:1px;

    transform:translateX(-50%);

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.48),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    overflow:hidden;

    box-shadow:
        0 14px 32px rgba(30,143,214,.30),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .40s var(--gal-ease),
        box-shadow .40s var(--gal-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease;
}


/* v24 : FIX ALIGNMENT — wrapper internal Elementor
   (.elementor-button-content-wrapper) sebelumnya tidak
   diatur flex/align, sehingga icon & text tidak center
   secara vertikal satu sama lain. Ini akar masalah
   "tidak lurus" pada tombol. */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button-content-wrapper{

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    gap:10px;

    width:100%;

    line-height:1;
}


/* tampilan tombol — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button){

    padding:15px 34px;

    min-height:54px;

    border:1px solid rgba(255,255,255,.30);

    border-radius:999px;

    background:
        linear-gradient(
            138deg,
            var(--gal-gold) 0%,
            var(--gal-red) 56%,
            var(--gal-red-dark) 100%
        );

    color:#05202F;
}


/* v23 : TIPOGRAFI TOMBOL — selektor normal (0,2,1)

   Menang atas Global Font Elementor (0,2,0),
   tapi kalah dari Typography per-widget (0,3,0).
   Jadi default Poppins, dan panel tetap bisa mengubahnya. */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button-text{

    font-family:var(--gal-font-body);

    font-size:15px;

    font-weight:600;

    font-style:normal;

    letter-spacing:.015em;

    line-height:1.2;

    text-transform:none;
}


/* v24 : FIX ALIGNMENT — pastikan text tidak punya
   margin/line-height liar yang menggeser posisi vertikal */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button-text{

    display:inline-flex;

    align-items:center;

    margin:0;

    line-height:1;
}


/* ikon dalam lingkaran di sisi kanan */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    margin:0;

    transition:
        transform .40s var(--gal-ease),
        background .34s ease;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button-icon){

    width:30px;

    height:30px;

    border-radius:50%;

    background:rgba(255,255,255,.30);

    color:#FFFFFF;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button-icon svg){

    width:14px;

    height:14px;

    fill:currentColor;

    display:block;
}


.elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button-icon i){

    font-size:14px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}


/* kilau melintas */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:46%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.20) 24%,
            rgba(255,255,255,.72) 50%,
            rgba(255,255,255,.20) 76%,
            transparent
        );

    transition:left .85s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--gal-sky-light) 0%,
                var(--gal-gold) 52%,
                var(--gal-red) 100%
            );

        border-color:rgba(255,255,255,.46);

        box-shadow:
            0 22px 46px rgba(77,192,255,.44),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(4px);

        background:rgba(255,255,255,.48);
    }

}


/* ============================================================
   LARGE DESKTOP  >= 1600
============================================================ */

@media(min-width:1600px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-max:1480px;

        --gal-arch:170px 170px 24px 24px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

        height:675px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        height:195px!important;
    }

}


/* ============================================================
   LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-arch:130px 130px 20px 20px;

        padding-left:42px!important;

        padding-right:42px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header{

        grid-template-columns:

            minmax(0,1.1fr)
            minmax(300px,.7fr)

            !important;

        gap:62px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:clamp(46px,4.9vw,66px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual{

        grid-template-columns:

            minmax(275px,.72fr)
            minmax(0,1.28fr)

            !important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

        height:clamp(535px,48vw,590px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        height:clamp(142px,13.5vw,175px)!important;
    }

}


/* ============================================================
   TABLET LANDSCAPE  821 - 1024
============================================================ */

@media(min-width:821px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-arch:120px 120px 18px 18px;

        padding:64px 30px 74px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:clamp(44px,6.6vw,58px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-intro{

        max-width:670px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual{

        grid-template-columns:

            minmax(240px,.68fr)
            minmax(0,1.32fr)

            !important;

        gap:10px!important;

        margin-top:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

        height:clamp(475px,58vw,535px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image{

        border-radius:18px 5px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        height:clamp(130px,17vw,165px)!important;
    }

}


/* ============================================================
   TABLET PORTRAIT  768 - 820
============================================================ */

@media(min-width:768px) and (max-width:820px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-arch:115px 115px 18px 18px;

        padding:62px 28px 72px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:38px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:clamp(42px,6.6vw,54px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-intro{

        max-width:620px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual{

        display:grid!important;

        grid-template-columns:

            minmax(0,.78fr)
            minmax(0,1.22fr)

            !important;

        grid-template-rows:

            365px
            auto!important;

        gap:10px!important;

        margin-top:37px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

        display:contents!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left{

        grid-column:1;
        grid-row:1;

        width:100%!important;

        height:100%!important;

        min-height:0;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image{

        grid-column:2;
        grid-row:1;

        width:100%!important;

        height:100%!important;

        min-height:0;

        border-radius:18px 5px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel{

        grid-column:1 / -1;
        grid-row:2;

        width:100%!important;

        min-width:0!important;

        margin-top:2px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        height:175px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual::before{

        display:none;
    }

}


/* ============================================================
   ============================================================
   MOBILE  <= 767   —  DIPERBAIKI TOTAL DI v21

   Urutan: MAIN IMAGE -> PORTRAIT -> CAROUSEL
   ============================================================
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-arch:100px 100px 16px 16px;

        /* v21 : padding bawah dipangkas dari 64px */
        padding:

            50px
            clamp(17px,5vw,23px)
            34px

            !important;
    }


    /* angka section */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-shell::before{

        top:-22px;

        right:0;

        font-size:58px;
    }


    /* v21 : watermark dikecilkan dan ditarik ke dalam
       supaya tidak menciptakan ruang kosong di bawah */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-shell::after{

        left:-2px;

        bottom:-14px;

        font-size:clamp(58px,19vw,86px);

        opacity:.42;
    }


    /* ---------- HEADER ---------- */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header{

        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:18px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow{

        margin-bottom:11px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title{

        padding-left:29px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-eyebrow .elementor-heading-title){

        font-size:9.5px;

        letter-spacing:.15em;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::before{

        width:20px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::after{

        font-size:7.5px;

        margin-left:2px;

        padding-left:8px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:clamp(36px,10.5vw,46px);

        line-height:1.05;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-title::after{

        width:51px;

        margin-top:14px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-intro{

        max-width:100%!important;

        margin:0!important;

        padding-left:16px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro p),
    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-intro span){

        font-size:15.5px;

        line-height:1.70;
    }


    /* ---------- VISUAL ---------- */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual{

        display:flex!important;

        flex-direction:column!important;

        align-items:stretch!important;

        gap:11px!important;

        width:100%!important;

        margin-top:26px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right{

        display:contents!important;
    }


    /* MAIN duluan */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image{

        order:1;

        width:100%!important;

        height:auto!important;

        min-height:0;

        aspect-ratio:16 / 10;

        border-radius:16px 4px 16px 16px;
    }


    /* PORTRAIT kedua */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left{

        order:2;

        width:100%!important;

        height:auto!important;

        min-height:0;

        aspect-ratio:4 / 5;
    }


    /* ============================================
       CAROUSEL — INTI PERBAIKAN v21
       ============================================ */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel{

        order:3;

        width:100%!important;

        /* v21 : padding bawah dihapus.
           Dulu 27px + pagination absolute = menumpuk */
        margin:0!important;

        padding:0!important;

        overflow:visible!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-widget-container{

        overflow:visible!important;
    }


    /* v21 : tinggi wadah swiper dilepas.
       Ini penyebab utama ruang kosong besar —
       Elementor memberi tinggi tetap sesuai rasio
       gambar asli, sedangkan slide dipaksa lebih pendek. */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
    :is(
        .swiper,
        .swiper-container,
        .swiper-initialized,
        .elementor-main-swiper,
        .elementor-swiper,
        .elementor-image-carousel-wrapper
    ){

        height:auto!important;

        min-height:0!important;

        max-height:none!important;

        padding:0!important;

        overflow:hidden!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-wrapper{

        height:auto!important;

        min-height:0!important;

        align-items:stretch!important;
    }


    /* v21 : slide pakai rasio, bukan tinggi tetap.
       Dengan begitu tinggi wadah mengikuti slide,
       tidak ada sisa ruang di dalam carousel. */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        height:auto!important;

        min-height:0!important;

        aspect-ratio:4 / 3;

        border-radius:14px 4px 14px 14px;

        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide
    :is(
        .elementor-carousel-image,
        img,
        figure,
        .swiper-slide-inner
    ){

        height:100%!important;

        min-height:0!important;

        margin:0!important;
    }


    /* v21 : pagination tidak lagi absolute.
       Sekarang mengalir normal di bawah carousel
       dengan jarak kecil yang terkendali. */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination{

        position:static!important;

        left:auto!important;

        bottom:auto!important;

        width:100%!important;

        transform:none!important;

        margin-top:13px!important;

        gap:0;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination-bullet{

        width:5px!important;

        height:5px!important;

        margin:0 3px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-pagination-bullet-active{

        width:20px!important;
    }


    /* panah disembunyikan di mobile */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel
    :is(
        .elementor-swiper-button,
        .swiper-button-prev,
        .swiper-button-next
    ){

        display:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual::before,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual::after{

        display:none;
    }


    /* ---------- TOMBOL BAWAH ---------- */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta{

        margin-top:20px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta::before{

        top:-12px;

        width:min(220px,72%);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button{

        width:100%;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button){

        padding:14px 22px;

        min-height:52px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-cta .elementor-button-text{

        font-size:14.5px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-cta .elementor-button-icon){

        width:27px;

        height:27px;
    }


    /* ---------- LABEL FOTO ---------- */

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image::before{

        left:13px;

        top:13px;

        padding:7px 10px;

        font-size:7px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image::before{

        top:14px;

        padding:7px 10px;

        font-size:7px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image::after{

        left:15px;

        bottom:14px;

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image::after{

        right:15px;

        bottom:14px;

        font-size:7px;
    }

}


/* ============================================================
   SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        --gal-arch:88px 88px 14px 14px;

        padding-left:max(17px,env(safe-area-inset-left))!important;

        padding-right:max(17px,env(safe-area-inset-right))!important;

        padding-bottom:30px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:clamp(33px,10vw,41px);
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::after{

        content:"JOURNAL";
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image{

        aspect-ratio:16 / 10.5;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        aspect-ratio:4 / 3;
    }

}


/* ============================================================
   VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-2d15c9e{

        padding-top:44px!important;

        padding-bottom:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e :where(.gallery-title .elementor-heading-title){

        font-size:32px;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-eyebrow .elementor-heading-title::after{

        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide{

        aspect-ratio:16 / 11;
    }

}


/* ============================================================
   TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image img,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image img,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-slide,
    .elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-carousel-image{

        transform:none!important;
    }

}


/* ============================================================
   ANTI OVERFLOW
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-header-left,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-intro,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-visual,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-left-image,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-right,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-main-image,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper,
.elementor-754 .elementor-element.elementor-element-2d15c9e .gallery-carousel .swiper-container{

    min-width:0!important;

    max-width:100%;
}


/* ============================================================
   AKSESIBILITAS
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e a:focus-visible,
.elementor-754 .elementor-element.elementor-element-2d15c9e button:focus-visible{

    outline:2px solid var(--gal-gold);

    outline-offset:4px;

    border-radius:8px;
}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-2d15c9e *,
    .elementor-754 .elementor-element.elementor-element-2d15c9e *::before,
    .elementor-754 .elementor-element.elementor-element-2d15c9e *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   TEXT SELECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-2d15c9e ::selection{

    color:var(--gal-maroon-dark);

    background:var(--gal-gold);
}


/* ============================================================
   ============================================================
   CATATAN

   1. Kalau di mobile masih ada sisa ruang, periksa
      widget Media Carousel:
         Content > Slides Per View (Mobile) = 1
         Content > Image Stretch = Yes
         Style > Slides > Height : KOSONGKAN
      Nilai Height di panel akan menimpa aturan
      height:auto dari CSS ini.

   2. Jarak ke tombol "See More" diatur dari
      Margin Top tombol itu sendiri, bukan dari CSS ini.
      Set sekitar 18-24px di tab Mobile.

   3. Tinggi slide di mobile kini memakai aspect-ratio.
      Ubah di blok MOBILE:
         aspect-ratio:4 / 3;   -> lebih tinggi
         aspect-ratio:16 / 9;  -> lebih pendek

   4. Semua tipografi memakai :where() -> tetap bisa
      diatur dari Style > Typography.

   5. TOMBOL di bawah carousel:
      pasang class  gallery-cta  pada widget Button-nya.
      Kosongkan Style > Background & Border di panel
      agar tampilan dari CSS ini yang dipakai.

   6. FONT TOMBOL (v23):
      Default sudah Poppins 600 / 15px.
      Untuk mengubahnya: klik widget Button >
      Style > Typography > atur Family, Size, Weight.
      Pengaturan panel selalu menang atas CSS ini.

      Kalau panel ternyata tidak berefek, penyebabnya
      Global Font masih menempel. Klik ikon globe kecil
      di sebelah Typography, lalu pilih "Custom".

   7. ALIGNMENT ICON & TEXT TOMBOL (v24):
      Perbaikan dilakukan dengan menambahkan flex/align
      pada .elementor-button-content-wrapper dan
      .elementor-button-text. Kalau widget Button Anda
      ternyata TIDAK memakai wrapper ini (struktur HTML
      beda karena versi Elementor berbeda), alignment akan
      tetap benar karena .elementor-button dan
      .elementor-button-icon sudah diatur flex + align
      sejak awal.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-00941bc *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   TESTIMONIALS — "AZURE GUESTS" V23

   DIPASANG DI:
   Container guest-highend
   Advanced > Custom CSS

   FILE INI MENGGANTIKAN SELURUH CSS TESTIMONIAL LAMA.

   CLASS TETAP SAMA, TIDAK ADA YANG BERUBAH:
   guest-shell / guest-header / guest-header-left
   guest-header-right / guest-eyebrow / guest-title
   guest-intro / guest-featured / guest-rating
   guest-rating-eyebrow / guest-rating-score
   guest-rating-stars / guest-rating-title
   guest-rating-reviews / guest-rating-logo
   guest-primary-reviews / guest-stories
   guest-divider / guest-divider-label / guest-divider-line
   guest-bottom / guest-location / guest-signature

   ------------------------------------------------------------
   PERUBAHAN v23
   ------------------------------------------------------------
   1. Palet maroon / emas -> biru. Background disamakan
      dengan About, Package, Why Choose Us, dan Gallery.

   2. PANEL RATING KIRI DIROMBAK TOTAL:
      Lama : kartu maroon tinggi, semua rata tengah,
             sudut kanan-bawah melengkung besar.
      Baru : kartu ARCH (lengkung penuh di atas) dengan
             isi RATA KIRI, angka rating dan bintang
             berdampingan dalam satu baris, garis pemisah
             tipis, dan logo Google di kiri bawah.
             Ditambah orbit ring putus-putus berputar
             dan nomor "01" besar sebagai latar.

   3. Kartu review: sudut tajam satu sisi, tanda kutip
      besar, aksen atas yang melebar saat hover.

   4. Watermark "GUESTS" & "03" jadi outline biru.

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ------------------------------------------------------------
   Semua aturan font dibungkus :where() -> spesifisitas NOL.
   Panel Elementor (Style > Typography / Text Color)
   SELALU menang. Nilai di sini hanya tampilan awal.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc{

    /* nama variabel lama dipertahankan */

    --g-maroon:#063A5E;        /* Navy      */
    --g-maroon-dark:#041E33;   /* Navy Dark */

    --g-red:#1E8FD6;           /* Azure     */
    --g-red-dark:#0A5C8F;      /* Ocean     */

    --g-brick:#0A5C8F;
    --g-gold:#4DC0FF;          /* Sky — aksen utama */

    --g-sky-light:#8BD8FF;

    --g-ivory:#EAF4FC;
    --g-ivory-soft:#F8FCFF;

    --g-blush:#D7ECF9;

    --g-white:#FFFFFF;
    --g-charcoal:#10222F;

    --g-body:rgba(16,34,47,.74);
    --g-muted:rgba(16,34,47,.56);

    --g-line:rgba(30,143,214,.20);
    --g-line-soft:rgba(30,143,214,.10);

    --g-max:1420px;

    /* font default — bisa ditimpa panel */
    --g-font-display:"DM Serif Display",Georgia,serif;
    --g-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    /* bentuk arch panel rating */
    --g-arch:130px 130px 22px 22px;

    /* sudut kartu review */
    --g-card-radius:20px 4px 20px 20px;

    --g-ease:cubic-bezier(.22,1,.36,1);


    position:relative;

    isolation:isolate;

    width:100%!important;
    max-width:none!important;

    margin:0!important;

    padding:
        clamp(72px,6.5vw,110px)
        clamp(22px,5vw,78px)
        clamp(68px,6vw,100px)
        !important;

    overflow:hidden;

    color:var(--g-charcoal);

    font-family:var(--g-font-body);

    background:

        radial-gradient(
            circle at 7% 8%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 94% 16%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 87% 90%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            #F8FCFF 0%,
            #F1F8FD 54%,
            #EAF4FC 100%
        )
        !important;
}


.elementor-754 .elementor-element.elementor-element-00941bc *,
.elementor-754 .elementor-element.elementor-element-00941bc *::before,
.elementor-754 .elementor-element.elementor-element-00941bc *::after{
    box-sizing:border-box;
}


/* ============================================================
   02. TEKSTUR & CAHAYA LATAR
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc::before{
    content:"";

    position:absolute;

    inset:0;

    z-index:-10;

    pointer-events:none;

    opacity:.28;

    background-image:
        radial-gradient(
            rgba(30,143,214,.16) .7px,
            transparent .7px
        );

    background-size:32px 32px;

    -webkit-mask-image:
        linear-gradient(
            120deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.30) 40%,
            transparent 75%
        );

    mask-image:
        linear-gradient(
            120deg,
            rgba(0,0,0,.85),
            rgba(0,0,0,.30) 40%,
            transparent 75%
        );
}


.elementor-754 .elementor-element.elementor-element-00941bc::after{
    content:"";

    position:absolute;

    width:600px;
    height:600px;

    right:-300px;
    top:-300px;

    z-index:-9;

    pointer-events:none;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.20),
            rgba(30,143,214,.06) 45%,
            transparent 70%
        );

    animation:guestAmbient 11s ease-in-out infinite;
}


/* ============================================================
   03. SHELL
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-shell{
    position:relative;

    z-index:2;

    display:flex!important;

    flex-direction:column!important;

    align-items:stretch!important;

    gap:0!important;

    width:100%!important;

    max-width:var(--g-max)!important;

    margin:0 auto!important;

    padding:0!important;
}


/* angka "03" */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::before{
    content:"03";

    position:absolute;

    left:-7px;
    top:-52px;

    z-index:-1;

    pointer-events:none;

    font-family:var(--g-font-display);

    font-size:clamp(82px,8.5vw,138px);

    line-height:1;

    letter-spacing:-.05em;

    color:transparent;

    -webkit-text-stroke:1px rgba(30,143,214,.17);

    opacity:.9;
}


/* watermark "GUESTS" */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::after{
    content:"GUESTS";

    position:absolute;

    left:14px;
    bottom:-26px;

    z-index:-2;

    pointer-events:none;

    font-family:var(--g-font-display);

    font-size:clamp(98px,12.5vw,180px);

    line-height:.78;

    letter-spacing:-.05em;

    color:transparent;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.78;
}


/* ============================================================
   04. HEADER
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-header{
    position:relative;

    display:grid!important;

    grid-template-columns:
        minmax(0,1.18fr)
        minmax(330px,.70fr)!important;

    align-items:end!important;

    gap:clamp(54px,6.5vw,110px)!important;

    width:100%!important;

    margin:0!important;

    padding:0 0 clamp(40px,4vw,58px)!important;

    border-bottom:1px solid var(--g-line);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-header-left,
.elementor-754 .elementor-element.elementor-element-00941bc .guest-header-right{
    min-width:0;

    margin:0!important;

    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-header-left{
    display:flex!important;

    flex-direction:column!important;

    align-items:flex-start!important;

    gap:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-header-right{
    display:flex!important;

    flex-direction:column!important;

    justify-content:flex-end!important;
}


/* ============================================================
   05. EYEBROW
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow{
    margin:0 0 16px!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow .elementor-heading-title{
    position:relative;

    margin:0;

    padding-left:38px;

    text-transform:uppercase;
}


/* TIPOGRAFI — spesifisitas nol */

.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-eyebrow .elementor-heading-title){
    font-family:var(--g-font-body);

    font-size:11px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.18em;

    color:var(--g-red);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow .elementor-heading-title::before{
    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:27px;
    height:2px;

    transform:translateY(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--g-gold),
            var(--g-red)
        );
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow .elementor-heading-title::after{
    content:"";

    display:inline-block;

    width:5px;
    height:5px;

    margin-left:10px;

    vertical-align:middle;

    border-radius:50%;

    background:var(--g-gold);

    box-shadow:0 0 0 4px rgba(77,192,255,.18);
}


/* ============================================================
   06. TITLE
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-title{
    position:relative;

    width:100%!important;

    max-width:820px!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-display);

    font-weight:400;

    font-size:clamp(50px,5.2vw,80px);

    line-height:1.02;

    letter-spacing:-.026em;

    color:var(--g-maroon);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-title .elementor-heading-title{
    text-wrap:balance;
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis: What Our <span>Guests Say.</span> */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-title .elementor-heading-title span{
    background:
        linear-gradient(
            122deg,
            var(--g-gold) 0%,
            var(--g-red) 55%,
            var(--g-red-dark) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-title::after{
    content:"";

    display:block;

    width:62px;
    height:2px;

    margin-top:20px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--g-gold),
            rgba(77,192,255,.35),
            transparent
        );

    box-shadow:0 2px 12px rgba(77,192,255,.30);

    transition:width .55s var(--g-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-header:hover .guest-title::after{
        width:120px;
    }

}


/* ============================================================
   07. INTRO
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-intro{
    position:relative;

    width:100%!important;

    max-width:490px!important;

    margin:0!important;

    padding-left:22px!important;

    border-left:2px solid var(--g-gold);
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro p),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro span){
    font-family:var(--g-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.74;

    color:var(--g-body);
}


/* ============================================================
   08. FEATURED AREA
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-featured{
    position:relative;

    display:grid!important;

    grid-template-columns:
        minmax(260px,.44fr)
        minmax(0,1.56fr)!important;

    align-items:stretch!important;

    gap:clamp(22px,2.5vw,38px)!important;

    width:100%!important;

    margin:clamp(40px,3.8vw,56px) 0 0!important;

    padding:0!important;
}


/* garis penghubung tipis di atas kolom kanan */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-featured::before{
    content:"";

    position:absolute;

    left:290px;
    right:25px;

    top:-14px;

    height:2px;

    border-radius:999px;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(77,192,255,.55),
            rgba(30,143,214,.14),
            transparent
        );
}


/* ============================================================
   ============================================================
   09. PANEL RATING — DIROMBAK TOTAL DI v23

   Bentuk : ARCH (lengkung penuh di atas)
   Tata letak : RATA KIRI, bukan rata tengah
   Susunan : eyebrow -> (angka + bintang sejajar)
             -> judul -> garis -> jumlah review -> logo
   ============================================================
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
    position:relative;

    isolation:isolate;

    display:flex!important;

    flex-direction:column!important;

    justify-content:flex-end!important;   /* v23 : isi ditarik ke bawah */

    align-items:flex-start!important;     /* v23 : rata kiri */

    width:100%!important;

    min-width:0!important;

    min-height:360px!important;

    margin:0!important;

    padding:34px 28px 30px!important;

    overflow:hidden;

    text-align:left;                      /* v23 */

    color:#FFFFFF;

    border:1px solid rgba(77,192,255,.26);

    /* v23 : bentuk arch, bukan sudut membulat besar */
    border-radius:var(--g-arch);

    background:
        radial-gradient(
            circle at 14% 8%,
            rgba(77,192,255,.30),
            transparent 34%
        ),

        radial-gradient(
            circle at 94% 92%,
            rgba(30,143,214,.26),
            transparent 38%
        ),

        linear-gradient(
            152deg,
            #063A5E 0%,
            #041E33 62%,
            #0A5C8F 100%
        )
        !important;

    box-shadow:
        0 28px 58px rgba(4,30,51,.28),
        inset 0 1px 0 rgba(255,255,255,.10);

    transition:
        transform .48s var(--g-ease),
        box-shadow .48s ease;
}


/* v23 : nomor besar sebagai latar dalam panel */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::before{
    content:"01";

    position:absolute;

    right:16px;
    top:64px;

    z-index:-1;

    pointer-events:none;

    font-family:var(--g-font-display);

    font-size:112px;

    line-height:1;

    letter-spacing:-.06em;

    color:transparent;

    -webkit-text-stroke:1px rgba(139,216,255,.20);

    opacity:.8;
}


/* v23 : orbit ring putus-putus di sudut atas */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::after{
    content:"";

    position:absolute;

    left:50%;
    top:-62px;

    z-index:-1;

    width:150px;
    height:150px;

    transform:translateX(-50%);

    border-radius:50%;

    border:1px dashed rgba(77,192,255,.40);

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.16) 0%,
            transparent 62%
        );

    pointer-events:none;

    animation:guestOrbit 42s linear infinite;
}


@keyframes guestOrbit{

    from{ transform:translateX(-50%) rotate(0deg); }

    to{ transform:translateX(-50%) rotate(360deg); }

}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating:hover{
        transform:translateY(-6px);

        box-shadow:
            0 38px 74px rgba(4,30,51,.36),
            inset 0 1px 0 rgba(255,255,255,.14);
    }

}


/* ============================================================
   10. ISI PANEL RATING
============================================================ */

/* --------- EYEBROW --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:0 0 auto!important;   /* v23 : didorong ke atas */

    padding-bottom:22px;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-eyebrow .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-body);

    font-size:10px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:rgba(139,216,255,.80);
}


/* garis kecil di atas eyebrow */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow .elementor-heading-title::before{
    content:"";

    display:block;

    width:30px;
    height:2px;

    margin-bottom:11px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--g-gold),
            rgba(77,192,255,.14)
        );
}


/* --------- ANGKA RATING --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-score{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-score .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-display);

    font-weight:400;

    font-size:clamp(58px,4.6vw,76px);

    line-height:.86;

    letter-spacing:-.045em;

    /* v23 : angka bergradasi */
    background:
        linear-gradient(
            128deg,
            #FFFFFF 0%,
            var(--g-sky-light) 48%,
            var(--g-gold) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;

    color:#FFFFFF;
}


/* --------- BINTANG --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:9px 0 0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-stars .elementor-star-rating){
    font-size:17px;

    color:var(--g-gold);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars
:is(i,svg,path){
    color:var(--g-gold)!important;

    fill:var(--g-gold)!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars .elementor-star-rating{
    filter:drop-shadow(0 3px 10px rgba(77,192,255,.40));
}


/* --------- JUDUL (Excellent) --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:14px 0 0!important;

    padding-top:14px;
}


/* garis pemisah tipis di atas judul */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:62px;
    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(77,192,255,.70),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-title .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-display);

    font-weight:400;

    font-size:clamp(22px,1.7vw,28px);

    line-height:1.15;

    color:#FFFFFF;
}


/* --------- JUMLAH REVIEW --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-reviews{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:6px 0 0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-reviews .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-reviews p),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-reviews span){
    margin:0;

    font-family:var(--g-font-body);

    font-size:12px;

    font-weight:300;

    line-height:1.5;

    color:rgba(207,235,251,.66);
}


/* --------- LOGO GOOGLE --------- */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo{
    position:relative;

    z-index:2;

    width:auto!important;

    margin:20px 0 0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo img{
    display:block;

    width:clamp(78px,6.5vw,98px)!important;

    max-height:32px!important;

    object-fit:contain;

    filter:brightness(0) invert(1);

    opacity:.86;
}


/* ============================================================
   11. WADAH CAROUSEL
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-primary-reviews,
.elementor-754 .elementor-element.elementor-element-00941bc .guest-stories{
    position:relative;

    width:100%!important;

    min-width:0!important;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-primary-reviews{
    margin:0!important;

    padding:3px 3px 23px!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-stories{
    margin:24px 0 0!important;

    padding:3px 3px 30px!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.elementor-widget-container{
    width:100%!important;

    min-width:0!important;

    padding:0!important;

    overflow:hidden!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
:is(
    .swiper,
    .swiper-container,
    .swiper-initialized,
    .elementor-main-swiper,
    .slick-slider,
    .owl-carousel
){
    width:100%!important;

    min-width:0!important;

    max-width:none!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-wrapper{
    align-items:stretch!important;
}


/* ============================================================
   12. KARTU REVIEW
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-slide{
    position:relative;

    height:auto!important;

    overflow:hidden;

    isolation:isolate;

    color:var(--g-charcoal);

    box-shadow:
        0 14px 32px rgba(4,30,51,.08),
        inset 0 1px 0 rgba(255,255,255,1);

    transition:
        transform .50s var(--g-ease),
        box-shadow .50s var(--g-ease),
        border-color .40s ease;
}


/* tampilan kartu — bisa ditimpa panel */

.elementor-754 .elementor-element.elementor-element-00941bc :where(
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide
){
    padding:26px 24px 26px;

    border:1px solid transparent;

    border-radius:var(--g-card-radius);

    /* border gradasi biru */
    background:

        linear-gradient(
            158deg,
            rgba(255,255,255,.98) 0%,
            rgba(241,248,253,.94) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.70) 0%,
            rgba(30,143,214,.20) 46%,
            rgba(255,255,255,.10) 100%
        ) border-box;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-primary-reviews .swiper-slide{
    min-height:285px!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-stories .swiper-slide{
    min-height:250px!important;
}


/* hilangkan kotak bawaan plugin di dalam slide */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-slide
:is(
    .elementor-testimonial,
    .testimonial-item,
    .review-card,
    .eael-testimonial-item,
    .eael-google-reviews-item,
    article
){
    width:100%!important;

    height:100%!important;

    min-height:0!important;

    margin:0!important;

    padding:0!important;

    border:0!important;

    border-radius:0!important;

    background:transparent!important;

    box-shadow:none!important;
}


/* ============================================================
   13. AKSEN KARTU
============================================================ */

/* garis aksen di sisi atas */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-slide::before{
    content:"";

    position:absolute;

    left:24px;
    top:0;

    z-index:3;

    width:48px;
    height:3px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--g-gold),
            rgba(77,192,255,.18)
        );

    transition:
        width .55s var(--g-ease),
        box-shadow .4s ease;
}


/* v23 : tanda kutip besar, menggantikan sudut siku lama */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-slide::after{
    content:"\201D";

    position:absolute;

    right:16px;
    bottom:-16px;

    z-index:0;

    font-family:var(--g-font-display);

    font-size:86px;

    line-height:1;

    color:rgba(30,143,214,.13);

    pointer-events:none;

    transition:
        color .45s ease,
        transform .5s var(--g-ease);
}


/* ============================================================
   14. SLIDE AKTIF
============================================================ */

@media(min-width:1025px){

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide-active{
        transform:translateY(-4px)!important;

        box-shadow:
            0 26px 54px rgba(4,30,51,.14),
            inset 0 1px 0 rgba(255,255,255,1)
            !important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide-active::before{
        width:88px;

        box-shadow:0 2px 14px rgba(77,192,255,.42);
    }

}


/* ============================================================
   15. HOVER KARTU
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide:hover{
        transform:translateY(-7px);

        box-shadow:
            0 28px 58px rgba(4,30,51,.15),
            inset 0 1px 0 rgba(255,255,255,1);
    }


    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide:hover::before{
        width:calc(100% - 48px);

        box-shadow:0 2px 14px rgba(77,192,255,.45);
    }


    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide:hover::after{
        color:rgba(77,192,255,.24);

        transform:translateY(-4px);
    }

}


/* ============================================================
   16. TEKS REVIEW
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc :where(
    :is(.guest-primary-reviews,.guest-stories)
    :is(
        .elementor-testimonial__text,
        .testimonial-content,
        .review-content,
        .eael-testimonial-text,
        .review-text,
        blockquote
    )
),

.elementor-754 .elementor-element.elementor-element-00941bc :where(
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide p
){
    font-family:var(--g-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.70;

    color:var(--g-body);
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-slide p{
    position:relative;

    z-index:2;
}


/* ============================================================
   17. NAMA
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc :where(
    :is(.guest-primary-reviews,.guest-stories)
    :is(
        .elementor-testimonial__name,
        .testimonial-name,
        .author-name,
        .review-name,
        .eael-testimonial-user
    )
){
    font-family:var(--g-font-display);

    font-size:18px;

    font-weight:400;

    line-height:1.2;

    color:var(--g-maroon);
}


/* ============================================================
   18. META / USERNAME
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc :where(
    :is(.guest-primary-reviews,.guest-stories)
    :is(
        .elementor-testimonial__job,
        .testimonial-role,
        .author-role,
        .review-meta,
        .review-location,
        .user-handle
    )
){
    font-family:var(--g-font-body);

    font-size:11.5px;

    font-weight:400;

    line-height:1.4;

    color:var(--g-muted);
}


/* ============================================================
   19. AVATAR
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
:is(
    .elementor-testimonial__image,
    .testimonial-avatar,
    .author-avatar,
    .review-avatar,
    .eael-testimonial-image
)
img{
    width:48px!important;

    height:48px!important;

    object-fit:cover!important;

    border:2px solid rgba(77,192,255,.48);

    border-radius:50%;

    box-shadow:0 7px 18px rgba(30,143,214,.20);
}


/* ikon platform */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.elementor-testimonial__icon{
    position:relative;

    z-index:3;

    color:var(--g-red);

    transition:transform .4s var(--g-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide:hover
    .elementor-testimonial__icon{
        transform:scale(1.14) rotate(-7deg);
    }

}


/* bintang di dalam kartu */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
:is(
    .elementor-star-rating i,
    .elementor-star-rating__star,
    .e-rating-item svg
){
    color:var(--g-gold);

    fill:var(--g-gold);
}


/* ============================================================
   20. DIVIDER "MORE GUEST STORIES"
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider{
    position:relative;

    display:grid!important;

    grid-template-columns:
        auto
        minmax(40px,1fr)!important;

    align-items:center!important;

    gap:20px!important;

    width:100%!important;

    margin:clamp(44px,4.6vw,66px) 0 0!important;

    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-label{
    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-divider-label .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-body);

    font-size:10px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:var(--g-red);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-label .elementor-heading-title{
    white-space:nowrap;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-line{
    position:relative;

    width:100%!important;

    overflow:hidden;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-line .elementor-divider{
    padding:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-line .elementor-divider-separator{
    width:100%!important;

    border-block-start:1px solid var(--g-line)!important;
}


/* titik cahaya berjalan di atas garis */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-divider-line::after{
    content:"";

    position:absolute;

    left:-18%;
    top:50%;

    width:18%;
    height:2px;

    transform:translateY(-50%);

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--g-gold),
            transparent
        );

    box-shadow:0 0 12px rgba(77,192,255,.55);

    animation:guestDividerMove 5.5s linear infinite;
}


/* ============================================================
   21. PAGINATION
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-pagination{
    position:relative!important;

    bottom:auto!important;

    margin-top:17px!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-pagination-bullet{
    width:6px!important;

    height:6px!important;

    margin:0 4px!important;

    opacity:.34;

    border-radius:999px!important;

    background:var(--g-red)!important;

    transition:
        width .35s var(--g-ease),
        opacity .35s ease;
}


.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
.swiper-pagination-bullet-active{
    width:26px!important;

    opacity:1;

    background:
        linear-gradient(
            90deg,
            var(--g-gold),
            var(--g-red)
        )!important;

    box-shadow:0 2px 10px rgba(77,192,255,.45);
}


/* ============================================================
   22. PANAH
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc
:is(.guest-primary-reviews,.guest-stories)
:is(
    .swiper-button-prev,
    .swiper-button-next,
    .slick-prev,
    .slick-next,
    .owl-prev,
    .owl-next
){
    width:42px!important;

    height:42px!important;

    color:#FFFFFF!important;

    border:1px solid rgba(255,255,255,.28)!important;

    /* v23 : squircle, bukan lingkaran */
    border-radius:13px 4px 13px 13px!important;

    background:
        linear-gradient(
            138deg,
            #4DC0FF,
            #1E8FD6 58%,
            #0A5C8F
        )!important;

    box-shadow:
        0 10px 24px rgba(30,143,214,.34),
        inset 0 1px 0 rgba(255,255,255,.38)!important;

    transition:
        transform .35s var(--g-ease),
        box-shadow .35s ease!important;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    :is(
        .swiper-button-prev,
        .swiper-button-next
    ):hover{
        transform:scale(1.07);

        box-shadow:
            0 16px 34px rgba(77,192,255,.48),
            inset 0 1px 0 rgba(255,255,255,.46)!important;
    }

}


/* ============================================================
   23. BOTTOM
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc .guest-bottom{
    position:relative;

    display:grid!important;

    grid-template-columns:
        auto
        minmax(80px,1fr)
        auto!important;

    align-items:center!important;

    gap:clamp(22px,3vw,42px)!important;

    width:100%!important;

    margin:clamp(40px,3.8vw,56px) 0 0!important;

    padding:22px 0 0!important;

    border-top:1px solid var(--g-line);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-bottom::before{
    content:"";

    grid-column:2;

    width:100%;

    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.38),
            transparent
        );
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-location{
    grid-column:1;

    grid-row:1;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-location .elementor-heading-title){
    margin:0;

    font-family:var(--g-font-body);

    font-size:10px;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:var(--g-muted);
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-location .elementor-heading-title{
    white-space:nowrap;
}


.elementor-754 .elementor-element.elementor-element-00941bc .guest-signature{
    grid-column:3;

    grid-row:1;

    max-width:420px!important;

    margin:0!important;

    text-align:right;
}


.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-signature .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-signature p),
.elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-signature span){
    margin:0;

    font-family:var(--g-font-display);

    font-size:clamp(18px,1.25vw,21px);

    font-weight:400;

    font-style:italic;

    line-height:1.35;

    color:var(--g-maroon);
}


/* ============================================================
   24. LARGE DESKTOP  >= 1600
============================================================ */

@media(min-width:1600px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        --g-max:1480px;

        --g-arch:150px 150px 24px 24px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
        min-height:390px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-primary-reviews .swiper-slide{
        min-height:310px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-stories .swiper-slide{
        min-height:265px!important;
    }

}


/* ============================================================
   25. LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        --g-arch:115px 115px 20px 20px;

        padding-left:42px!important;

        padding-right:42px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-header{
        grid-template-columns:1.15fr .72fr!important;

        gap:56px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
        font-size:clamp(46px,4.9vw,66px);
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-featured{
        grid-template-columns:
            252px
            minmax(0,1fr)!important;

        gap:26px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
        min-height:340px!important;

        padding:30px 24px 27px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::before{
        font-size:96px;
    }

}


/* ============================================================
   ============================================================
   26. TABLET  768 - 1024

   Panel rating berubah jadi BANNER HORIZONTAL
   dengan bentuk sudut tajam, bukan arch.
   ============================================================
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        padding:64px 30px 74px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-header{
        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:26px!important;

        padding-bottom:40px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
        font-size:clamp(44px,6.8vw,60px);
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-intro{
        max-width:680px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-featured{
        grid-template-columns:1fr!important;

        gap:22px!important;

        margin-top:38px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-featured::before{
        display:none;
    }


    /* --------- PANEL RATING HORIZONTAL --------- */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
        min-height:0!important;

        display:grid!important;

        grid-template-columns:
            auto
            auto
            minmax(0,1fr)
            auto!important;

        grid-template-rows:auto auto!important;

        align-items:center!important;

        justify-content:start!important;

        column-gap:22px!important;

        row-gap:6px!important;

        padding:24px 28px!important;

        /* v23 : sudut tajam satu sisi, bukan arch */
        border-radius:22px 5px 22px 22px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::before{
        right:22px;

        top:auto;
        bottom:-14px;

        font-size:86px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::after{
        left:auto;

        right:-46px;
        top:-52px;

        width:124px;
        height:124px;

        transform:none;

        animation:guestOrbitTablet 42s linear infinite;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow{
        grid-column:1 / -1;

        grid-row:1;

        margin:0 0 6px!important;

        padding-bottom:0;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow .elementor-heading-title::before{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-score{
        grid-column:1;

        grid-row:2;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-score .elementor-heading-title){
        font-size:54px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars{
        grid-column:2;

        grid-row:2;

        margin:0!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title{
        grid-column:3;

        grid-row:2;

        margin:0!important;

        padding-top:0;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title::before{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-reviews{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo{
        grid-column:4;

        grid-row:2;

        margin:0!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::before{
        top:-38px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::after{
        bottom:-16px;

        font-size:clamp(94px,19vw,158px);
    }

}


@keyframes guestOrbitTablet{

    from{ transform:rotate(0deg); }

    to{ transform:rotate(360deg); }

}


/* ============================================================
   ============================================================
   27. MOBILE  <= 767

   Panel rating jadi kartu kompak 3 kolom:
   angka besar | bintang + judul | logo
   ============================================================
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        --g-card-radius:17px 4px 17px 17px;

        padding:
            52px
            clamp(17px,5vw,23px)
            58px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::before{
        left:0;

        top:-24px;

        font-size:62px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-shell::after{
        left:0;

        bottom:-6px;

        font-size:clamp(70px,23vw,104px);

        opacity:.55;
    }


    /* HEADER */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-header{
        grid-template-columns:1fr!important;

        align-items:start!important;

        gap:20px!important;

        padding-bottom:30px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow{
        margin-bottom:12px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow .elementor-heading-title{
        padding-left:30px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-eyebrow .elementor-heading-title){
        font-size:9.5px;

        letter-spacing:.15em;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-eyebrow .elementor-heading-title::before{
        width:20px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
        font-size:clamp(34px,10vw,44px);

        line-height:1.06;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-title::after{
        width:49px;

        margin-top:15px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-intro{
        max-width:100%!important;

        padding-left:16px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro p),
    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-intro span){
        font-size:15.5px;

        line-height:1.70;
    }


    /* FEATURED */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-featured{
        grid-template-columns:1fr!important;

        gap:16px!important;

        margin-top:28px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-featured::before{
        display:none;
    }


    /* --------- PANEL RATING MOBILE --------- */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
        min-height:0!important;

        display:grid!important;

        grid-template-columns:
            auto
            minmax(0,1fr)
            auto!important;

        grid-template-rows:auto auto auto!important;

        align-items:center!important;

        column-gap:16px!important;

        row-gap:3px!important;

        padding:20px 18px!important;

        border-radius:18px 4px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::before{
        right:14px;

        top:auto;
        bottom:-10px;

        font-size:70px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating::after{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow{
        grid-column:1 / -1;

        grid-row:1;

        margin:0 0 9px!important;

        padding-bottom:0;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-eyebrow .elementor-heading-title::before{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-score{
        grid-column:1;

        grid-row:2 / 4;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-score .elementor-heading-title){
        font-size:48px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars{
        grid-column:2;

        grid-row:2;

        margin:0!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title{
        grid-column:2;

        grid-row:3;

        margin:2px 0 0!important;

        padding-top:0;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title::before{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-title .elementor-heading-title){
        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-reviews{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo{
        grid-column:3;

        grid-row:2 / 4;

        margin:0!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo img{
        width:66px!important;
    }


    /* KARTU REVIEW */

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide{
        min-height:auto!important;

        transform:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(
        :is(.guest-primary-reviews,.guest-stories)
        .swiper-slide
    ){
        padding:21px 18px 22px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide::before{
        left:18px;

        width:36px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide::after{
        font-size:66px;

        right:11px;

        bottom:-12px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(
        :is(.guest-primary-reviews,.guest-stories)
        .swiper-slide p
    ){
        font-size:15.5px;

        line-height:1.66;
    }


    /* DIVIDER */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-divider{
        grid-template-columns:auto 1fr!important;

        gap:13px!important;

        margin-top:36px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-divider-label .elementor-heading-title){
        font-size:9px;

        letter-spacing:.14em;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-stories{
        margin-top:18px!important;
    }


    /* panah disembunyikan, geser pakai swipe */

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    :is(
        .swiper-button-prev,
        .swiper-button-next,
        .slick-prev,
        .slick-next,
        .owl-prev,
        .owl-next
    ){
        display:none!important;
    }


    /* BOTTOM */

    .elementor-754 .elementor-element.elementor-element-00941bc .guest-bottom{
        grid-template-columns:1fr!important;

        gap:9px!important;

        margin-top:32px!important;

        padding-top:18px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-bottom::before{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-location{
        grid-column:1;

        grid-row:auto;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-signature{
        grid-column:1;

        grid-row:auto;

        max-width:100%!important;

        text-align:left;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-signature .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-signature p){
        font-size:18px;
    }

}


/* ============================================================
   28. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        padding-left:max(17px,env(safe-area-inset-left))!important;

        padding-right:max(17px,env(safe-area-inset-right))!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
        font-size:clamp(32px,9.6vw,40px);
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating{
        grid-template-columns:auto 1fr!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-logo{
        display:none;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-score{
        grid-column:1;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-stars,
    .elementor-754 .elementor-element.elementor-element-00941bc .guest-rating-title{
        grid-column:2;
    }

}


/* ============================================================
   29. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-00941bc{
        padding-top:46px!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-title .elementor-heading-title){
        font-size:30px;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc :where(.guest-rating-score .elementor-heading-title){
        font-size:43px;
    }

}


/* ============================================================
   30. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide,

    .elementor-754 .elementor-element.elementor-element-00941bc
    :is(.guest-primary-reviews,.guest-stories)
    .swiper-slide-active{
        transform:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-00941bc a,
    .elementor-754 .elementor-element.elementor-element-00941bc button{
        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   31. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-00941bc *,
    .elementor-754 .elementor-element.elementor-element-00941bc *::before,
    .elementor-754 .elementor-element.elementor-element-00941bc *::after{
        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   32. ANIMASI
============================================================ */

@keyframes guestAmbient{

    0%,100%{
        opacity:.75;
        transform:scale(1);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }

}


@keyframes guestDividerMove{

    0%{
        left:-18%;
        opacity:0;
    }

    15%{
        opacity:1;
    }

    75%{
        opacity:1;
    }

    100%{
        left:105%;
        opacity:0;
    }

}


/* ============================================================
   33. AKSESIBILITAS
============================================================ */

.elementor-754 .elementor-element.elementor-element-00941bc a:focus-visible,
.elementor-754 .elementor-element.elementor-element-00941bc button:focus-visible{
    outline:2px solid var(--g-gold);

    outline-offset:4px;

    border-radius:8px;
}


.elementor-754 .elementor-element.elementor-element-00941bc ::selection{
    color:var(--g-maroon-dark);

    background:var(--g-gold);
}


/* ============================================================
   ============================================================
   CATATAN PEMAKAIAN

   1. Semua tipografi memakai :where() -> spesifisitas nol.
      Atur bebas dari Style > Typography dan Text Color
      pada tiap widget, termasuk per breakpoint.

      Pengecualian: angka rating (guest-rating-score)
      memakai efek teks bergradasi, jadi Text Color
      tidak berpengaruh di situ. Font, ukuran, dan weight
      tetap bisa diatur. Kalau ingin warnanya dari panel,
      hapus tiga baris background-clip di blok 10.

   2. Untuk membuat sebagian judul bergradasi biru,
      tulis di editor Heading guest-title:

          What Our <span>Guests Say.</span>

   3. Ubah semua warna sekaligus di blok 01.

   4. Bentuk panel rating:
      --g-arch  = lengkungan di desktop
      Di tablet dan mobile panel otomatis berubah jadi
      banner horizontal dengan sudut tajam.

   5. Kalau widget Reviews punya Background / Border
      sendiri di Style > Card, set ke transparent / None
      agar tidak dobel dengan tampilan dari CSS ini.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f74d44a *//* =========================================================
   =========================================================
   KAK LUNA BALI TRANS
   FAQ SECTION — "AZURE ANSWERS" V7

   DIPASANG DI:
   Container PALING LUAR section FAQ
   Advanced > Custom CSS

   ---------------------------------------------------------
   CLASS SESUAI STRUKTUR ANDA
   ---------------------------------------------------------
   Container (PALING LUAR)      -> tempat CSS ini ditempel
     Container (kolom kiri)     -> faq-left
       Container (blok judul)   -> faq-head
         Text Editor (—FAQ)     -> faq-eyebrow
         Heading (judul besar)  -> faq-title
       Text Editor (subjudul)   -> faq-intro
       Container (tombol)       -> faq-action
         Button                 -> faq-btn
     Container (kolom kanan)    -> faq-right
       Accordion                -> faq-list
         item #1 ... #n         -> tanpa class
           Text Editor          -> tanpa class

   Isi accordion tidak perlu class — ditarget lewat
   struktur bawaan Elementor, baik Accordion versi baru
   (nested) maupun versi klasik.

   ---------------------------------------------------------
   PERBAIKAN v7 — JUDUL MOBILE 40PX TIDAK BERUBAH
   ---------------------------------------------------------
   PENYEBAB:
   Komentar pembuka blok 14 berisi tanda penutup komentar
   di dalamnya. CSS tidak mendukung komentar bersarang,
   sehingga komentar tertutup terlalu cepat dan browser
   membuang SELURUH blok 14 (mobile).

   SOLUSI v7:
   - Komentar blok 14 dibersihkan
   - Judul faq-title dikunci 40px di mobile (blok 14)
   - Aturan garis bawah judul yang ganda (62px) di
     blok 06 dihapus, jadi garis kembali 76px sesuai v6
   Baris yang diubah ditandai dengan tulisan v7

   ---------------------------------------------------------
   PERBAIKAN v2 — FONT TIDAK BISA DIEDIT
   ---------------------------------------------------------
   Setiap class terakhir pada aturan FONT dibungkus
   :where() sehingga spesifisitasnya turun. Hasilnya:
     - MENANG atas Global Font Elementor
     - KALAH dari Typography per-widget, sehingga
       panel kembali berkuasa penuh

   ---------------------------------------------------------
   PERBAIKAN v3 — UKURAN DI MOBILE TIDAK IKUT BERUBAH
   ---------------------------------------------------------
   Semua nilai font di dalam media query dihapus, dan
   penyesuaian per-breakpoint diserahkan ke panel:
       Style > Typography > ikon perangkat
   Pengecualian v7: judul faq-title di mobile dikunci
   lewat CSS (blok 14).

   ---------------------------------------------------------
   PERBAIKAN v6 — DISAMAKAN DENGAN HEADER SECTION LAIN
   ---------------------------------------------------------
   Ukuran, line-height, letter-spacing judul, jarak
   eyebrow, garis bawah judul (76px), serta warna dan
   ukuran intro disamakan dengan header section lain.

   ---------------------------------------------------------
   CATATAN v5 — STRUKTUR TERBARU
   ---------------------------------------------------------
     - kalau Button dibungkus container -> pasang
       faq-action di container itu (opsional)
     - kalau Button berdiri sendiri -> cukup pasang
       faq-btn di widget Button-nya
   Keduanya dapat jarak atas otomatis.
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA DI SINI
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a{

    --fq-sky:#4DC0FF;
    --fq-sky-light:#8BD8FF;
    --fq-azure:#1E8FD6;
    --fq-ocean:#0A5C8F;
    --fq-navy:#063A5E;
    --fq-navy-dark:#041E33;

    --fq-bg-top:#F8FCFF;
    --fq-bg-mid:#F1F8FD;
    --fq-bg-bottom:#EAF4FC;

    --fq-white:#FFFFFF;
    --fq-mist:#D7ECF9;

    --fq-text:#10222F;
    --fq-muted:rgba(16,34,47,.72);
    --fq-soft:rgba(16,34,47,.56);

    --fq-line:rgba(30,143,214,.20);

    --fq-font-display:"DM Serif Display",Georgia,serif;
    --fq-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --fq-item-radius:18px 4px 18px 18px;

    /* kata watermark — ubah di sini */
    --fq-watermark:"ANSWERS";

    /* v7 : ukuran judul FAQ di mobile — ubah di sini */
    --fq-title-mobile:40px;

    --fq-ease:cubic-bezier(.2,.75,.2,1);


    /* ---------- SECTION ---------- */

    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:var(--fq-text);
    font-family:var(--fq-font-body);

    background:
        radial-gradient(circle at 8% 10%, rgba(77,192,255,.14), transparent 26%),
        radial-gradient(circle at 92% 16%, rgba(30,143,214,.10), transparent 30%),
        radial-gradient(circle at 86% 92%, rgba(139,216,255,.18), transparent 34%),
        linear-gradient(180deg, var(--fq-bg-top) 0%, var(--fq-bg-mid) 54%, var(--fq-bg-bottom) 100%) !important;
}


.elementor-754 .elementor-element.elementor-element-f74d44a *,
.elementor-754 .elementor-element.elementor-element-f74d44a *::before,
.elementor-754 .elementor-element.elementor-element-f74d44a *::after{
    box-sizing:border-box;
}


/* ---------------------------------------------------------
   02. TEKSTUR GRID
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f74d44a::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.42;

    background-image:
        linear-gradient(rgba(30,143,214,.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30,143,214,.030) 1px, transparent 1px);

    background-size:52px 52px;

    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}


/* ---------------------------------------------------------
   03. WATERMARK OUTLINE
   --------------------------------------------------------- */

.elementor-754 .elementor-element.elementor-element-f74d44a::after{
    content:var(--fq-watermark);
    position:absolute;
    left:10px;
    bottom:-24px;
    z-index:0;
    pointer-events:none;
    user-select:none;
    white-space:nowrap;
    color:transparent;
    font-family:var(--fq-font-display);
    font-size:clamp(64px,10.5vw,166px);
    line-height:.8;
    letter-spacing:-.05em;
    -webkit-text-stroke:1px rgba(30,143,214,.13);
    opacity:.70;
}


/* =========================================================
   04. KOLOM KIRI  —  .faq-left
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-left{
    position:relative;
    z-index:3;
}


/* kolom kiri ikut menggulung sampai accordion selesai */

@media(min-width:1025px){
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-left{
        position:sticky;
        top:100px;
        align-self:start;
    }
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-head{
    position:relative;
    z-index:3;
}


/* =========================================================
   05. EYEBROW  —  .faq-eyebrow
   ========================================================= */

/* struktur */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow{
    /* v6 : jarak eyebrow ke judul disamakan */
    margin:0 0 9px !important;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow p{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:0;
}


/* TIPOGRAFI — v2 : spesifisitas diturunkan */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow :where(.elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow :where(p){
    text-transform:uppercase;
    font-family:var(--fq-font-body);
    font-size:12px;
    font-weight:600;
    letter-spacing:.20em;
    color:var(--fq-azure);
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow p::before{
    content:"";
    width:32px;
    height:2px;
    flex-shrink:0;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(77,192,255,.10), var(--fq-sky));
}


/* =========================================================
   06. JUDUL  —  .faq-title
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-title{
    position:relative;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-title .elementor-heading-title{
    margin:0;
    text-wrap:balance;
}


/* TIPOGRAFI — v2 (ukuran DESKTOP & TABLET) */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-title :where(.elementor-heading-title){
    font-family:var(--fq-font-display);
    font-weight:500;

    /* v6 : disamakan dengan header section lain */
    font-size:clamp(50px,4.2vw,60px);

    line-height:1.06;
    letter-spacing:-.024em;
    color:var(--fq-black);
}


/* v6 : garis bawah judul, sama seperti header lain
   v7 : aturan ganda 62px di bawahnya sudah dihapus */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-title::after{
    content:"";
    display:block;
    width:76px;
    height:2px;
    margin-top:18px;
    border-radius:999px;
    background:linear-gradient(90deg, var(--fq-sky), rgba(77,192,255,.32), transparent);
    box-shadow:0 2px 12px rgba(77,192,255,.28);
    transition:width .55s var(--fq-ease);
}


@media(hover:hover) and (pointer:fine){
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-left:hover .faq-title::after{
        width:148px;
    }
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis:
   Useful answers before you <span>go.</span> */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-title .elementor-heading-title span{
    background:linear-gradient(122deg, var(--fq-sky) 0%, var(--fq-azure) 55%, var(--fq-ocean) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}


/* =========================================================
   07. SUBJUDUL  —  .faq-intro
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro{
    position:relative;

    /* v6 : jarak & padding disamakan dengan header lain */
    margin-top:20px !important;

    padding-left:20px;
    border-left:2px solid var(--fq-sky);
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro .elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro p{
    margin:0;
}


/* TIPOGRAFI — v2 */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro :where(.elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro :where(p){
    font-family:var(--fq-font-body);
    font-size:16px;
    font-weight:300;
    line-height:1.76;
    color:var(--fq-muted);
}


/* =========================================================
   08. TOMBOL  —  .faq-action / .faq-btn
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-action{
    position:relative;
    z-index:3;
    margin-top:clamp(18px,2vw,28px);
}


/* v5 : Button tanpa container pembungkus tetap
   mendapat jarak atas yang sama */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-left > .faq-btn,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn{
    position:relative;
    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-left > .faq-btn{
    margin-top:clamp(18px,2vw,28px);
}


/* kalau Button ada di dalam faq-action,
   jarak gandanya dinetralkan */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-action > .faq-btn{
    margin-top:0;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-direction:row;
    gap:10px;
    overflow:hidden;
    padding:13px 20px 13px 24px !important;
    min-height:50px;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:999px !important;
    background:linear-gradient(138deg, var(--fq-sky) 0%, var(--fq-azure) 56%, var(--fq-ocean) 100%) !important;
    color:#FFFFFF !important;
    box-shadow:
        0 12px 28px rgba(30,143,214,.32),
        inset 0 1px 0 rgba(255,255,255,.38);
    transition:
        transform .40s var(--fq-ease),
        box-shadow .40s var(--fq-ease),
        background .34s ease;
}

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button-content-wrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
}


/* tipografi tombol — panel tetap bisa menimpanya */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn :where(.elementor-button),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn :where(.elementor-button-text){
    font-family:var(--fq-font-body);
    font-size:14.5px;
    font-weight:600;
    font-style:normal;
    line-height:1.2;
    letter-spacing:.012em;
    text-transform:none;
}


/* ikon dalam lingkaran */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(255,255,255,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
    transition:
        transform .40s var(--fq-ease),
        background .34s ease;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button-icon svg,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button-icon i{
    width:14px;
    height:14px;
    font-size:14px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    fill:currentColor;
}

/* kilau melintas */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button::before{
    content:"";
    position:absolute;
    top:-30%;
    left:-110%;
    width:46%;
    height:160%;
    z-index:1;
    pointer-events:none;
    transform:skewX(-22deg);
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.20) 24%,
        rgba(255,255,255,.70) 50%,
        rgba(255,255,255,.20) 76%,
        transparent
    );
    transition:left .82s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button:hover{
        transform:translateY(-3px);
        background:linear-gradient(138deg, var(--fq-sky-light) 0%, var(--fq-sky) 52%, var(--fq-azure) 100%) !important;
        box-shadow:
            0 20px 42px rgba(77,192,255,.46),
            inset 0 1px 0 rgba(255,255,255,.48);
    }

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button:hover::before{
        left:160%;
    }

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button:hover
    .elementor-button-icon{
        transform:translateX(4px);
        background:rgba(255,255,255,.42);
    }

}


/* =========================================================
   =========================================================
   09. ACCORDION  —  .faq-list

   Mendukung dua struktur sekaligus:
     - Accordion baru  : .e-n-accordion  (details/summary)
     - Accordion klasik: .elementor-accordion
   =========================================================
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-right{
    position:relative;
    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list{
    position:relative;
    z-index:3;
    counter-reset:fq;
}


/* jarak antar item */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion{
    display:flex;
    flex-direction:column;
    gap:12px;
}


/* --------- TIAP ITEM --------- */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    counter-increment:fq;
    padding:0 !important;
    border:1px solid transparent !important;
    border-radius:var(--fq-item-radius) !important;

    background:
        linear-gradient(160deg, rgba(255,255,255,.96) 0%, rgba(241,248,253,.90) 100%) padding-box,
        linear-gradient(150deg, rgba(77,192,255,.62) 0%, rgba(30,143,214,.18) 46%, rgba(255,255,255,.08) 100%) border-box;

    box-shadow:
        0 12px 30px rgba(4,30,51,.07),
        inset 0 1px 0 rgba(255,255,255,.85);

    transition:
        transform .45s var(--fq-ease),
        box-shadow .45s ease;
}


/* garis aksen di sisi atas item */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item::after,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item::after{
    content:"";
    position:absolute;
    top:0;
    left:22px;
    z-index:4;
    width:34px;
    height:3px;
    border-radius:0 0 999px 999px;
    pointer-events:none;
    background:linear-gradient(90deg, var(--fq-sky), rgba(77,192,255,.18));
    transition:
        width .5s var(--fq-ease),
        box-shadow .35s ease;
}


/* --------- JUDUL PERTANYAAN --------- */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title{
    position:relative;
    display:flex !important;
    align-items:center;
    gap:16px;
    padding:19px 22px !important;
    border:0 !important;
    background:transparent !important;
    cursor:pointer;
    transition:
        color .32s ease,
        background .35s ease,
        padding-left .4s var(--fq-ease);
}


/* nomor urut kecil di kiri pertanyaan */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title::before,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title::before{
    content:counter(fq,decimal-leading-zero);
    flex-shrink:0;

    /* nomor ini dibuat CSS, bukan widget —
       ukurannya diatur di sini */
    font-family:var(--fq-font-display);
    font-size:15px;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(30,143,214,.55);
    transition:
        color .35s ease,
        -webkit-text-stroke-color .35s ease;
}


/* teks pertanyaan — struktur */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title-text,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title a,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-title{
    flex:1 1 auto;
    transition:color .32s ease;
}


/* TIPOGRAFI — v2 : spesifisitas diturunkan agar
   Style > Typography di panel kembali berfungsi */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list :where(.e-n-accordion-item-title-text),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list :where(.elementor-tab-title a),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list :where(.elementor-accordion-title){
    font-family:var(--fq-font-display);
    font-weight:400;
    font-size:clamp(19px,1.25vw,21px);
    line-height:1.32;
    letter-spacing:-.006em;
    color:var(--fq-black);
}


/* --------- IKON PANAH --------- */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title-icon,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-icon{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:32px;
    height:32px;
    margin:0 !important;
    border:1px solid rgba(77,192,255,.34);
    border-radius:10px 3px 10px 10px;
    background:rgba(77,192,255,.10);
    color:var(--fq-azure) !important;
    transition:
        transform .45s var(--fq-ease),
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        box-shadow .4s var(--fq-ease);
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title-icon svg,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-icon svg,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-icon i{
    width:13px;
    height:13px;
    font-size:14px;
    fill:currentColor;
    color:currentColor;
}


/* --------- ISI JAWABAN --------- */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item > .e-con,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content{
    padding:0 22px 20px 60px !important;
    border:0 !important;
    background:transparent !important;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item .elementor-widget-text-editor
.elementor-widget-container,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item p,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content p{
    margin:0;
}


/* TIPOGRAFI — v2 */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item
:where(.elementor-widget-text-editor .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item :where(p),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list :where(.elementor-tab-content),
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content :where(p){
    font-family:var(--fq-font-body);
    font-size:15px;
    font-weight:300;
    line-height:1.76;
    color:var(--fq-soft);
}


/* garis tipis di atas jawaban */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item > .e-con::before,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content::before{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-bottom:16px;
    background:linear-gradient(90deg, rgba(77,192,255,.40), rgba(30,143,214,.10), transparent);
}


/* =========================================================
   10. ITEM TERBUKA
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item[open],
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item:has(.elementor-active){

    box-shadow:
        0 22px 46px rgba(4,30,51,.13),
        inset 0 1px 0 rgba(255,255,255,.92);

    background:
        linear-gradient(160deg, rgba(255,255,255,.98) 0%, rgba(234,244,252,.94) 100%) padding-box,
        linear-gradient(150deg, rgba(77,192,255,.85) 0%, rgba(30,143,214,.30) 46%, rgba(255,255,255,.10) 100%) border-box;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item[open]::after,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item:has(.elementor-active)::after{
    width:calc(100% - 44px);
    box-shadow:0 2px 14px rgba(77,192,255,.42);
}


/* nomor jadi solid saat terbuka */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item[open]
.e-n-accordion-item-title::before,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title.elementor-active::before{
    color:var(--fq-azure);
    -webkit-text-stroke-color:transparent;
}


/* teks pertanyaan berubah warna */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item[open]
.e-n-accordion-item-title-text,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title.elementor-active a{
    color:var(--fq-ocean);
}


/* ikon berputar & menyala */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item[open]
.e-n-accordion-item-title-icon,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title.elementor-active
.elementor-accordion-icon{
    transform:rotate(180deg);
    border-color:rgba(255,255,255,.34);
    background:linear-gradient(138deg, var(--fq-sky), var(--fq-azure));
    color:#FFFFFF !important;
    box-shadow:0 8px 20px rgba(77,192,255,.38);
}


/* =========================================================
   11. HOVER
   ========================================================= */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item:hover,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item:hover{
        transform:translateY(-3px);
        box-shadow:
            0 20px 42px rgba(4,30,51,.11),
            inset 0 1px 0 rgba(255,255,255,.90);
    }

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item:hover::after,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item:hover::after{
        width:calc(100% - 44px);
    }

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title:hover
    .e-n-accordion-item-title-text,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title:hover a{
        color:var(--fq-azure);
    }

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title:hover
    .e-n-accordion-item-title-icon,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title:hover
    .elementor-accordion-icon{
        border-color:rgba(77,192,255,.60);
        background:rgba(77,192,255,.20);
    }

}


/* =========================================================
   12. ANIMASI MASUK
   ========================================================= */

@supports (animation-timeline: view()){

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list{
        animation:fqRise linear both;
        animation-timeline:view();
        animation-range:entry 2% entry 34%;
    }

}


@keyframes fqRise{
    from{
        opacity:0;
        transform:translateY(24px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* =========================================================
   13. TABLET  (768 - 1024)
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-f74d44a{
        --fq-item-radius:16px 4px 16px 16px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title{
        padding:17px 19px !important;
        gap:14px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item > .e-con,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content{
        padding:0 19px 18px 52px !important;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a::after{
        font-size:clamp(54px,13vw,114px);
        bottom:-18px;
    }

}


/* =========================================================
   14. MOBILE  (<= 767)
   v7 : komentar dibersihkan, judul faq-title 40px
   ========================================================= */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-f74d44a{
        --fq-item-radius:15px 4px 15px 15px;
    }


    /* KIRI */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow .elementor-widget-container,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow p{
        gap:9px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-eyebrow p::before{
        width:20px;
    }


    /* v7 : ukuran judul FAQ di mobile
       ubah angkanya di blok 01 : --fq-title-mobile */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-title .elementor-heading-title{
        font-size:var(--fq-title-mobile) !important;
        line-height:1.08 !important;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-title::after{
        width:48px;
        margin-top:13px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-intro{
        padding-left:15px;
    }


  .elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button{
    width:100%;
    padding:11px 20px !important;
    min-height:48px;
}


.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button-icon{
    width:27px;
    height:27px;
}


    /* ACCORDION */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion{
        gap:10px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title{
        padding:15px 15px !important;
        gap:12px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item::after,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item::after{
        left:15px;
        width:28px;
    }


    /* nomor urut dibuat CSS, bukan widget —
       ukurannya tetap diatur di sini */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title::before,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title::before{
        font-size:13px;
    }


    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title-icon,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-icon{
        width:28px;
        height:28px;
    }


    /* jawaban rata kiri penuh di mobile */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item > .e-con,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-content{
        padding:0 15px 16px 15px !important;
    }


    /* WATERMARK */

    .elementor-754 .elementor-element.elementor-element-f74d44a::after{
        left:4px;
        bottom:-8px;
        font-size:clamp(42px,16vw,78px);
        opacity:.46;
    }


    /* hover dimatikan */

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item:hover,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-accordion-item:hover{
        transform:none;
    }

}


/* =========================================================
   15. VERY SMALL MOBILE  (<= 400)
   ========================================================= */

@media(max-width:400px){

    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .e-n-accordion-item-title,
    .elementor-754 .elementor-element.elementor-element-f74d44a .faq-list .elementor-tab-title{
        padding:14px 13px !important;
        gap:10px;
    }

}


/* =========================================================
   16. FOKUS KEYBOARD
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list summary:focus-visible,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-list a:focus-visible,
.elementor-754 .elementor-element.elementor-element-f74d44a .faq-btn .elementor-button:focus-visible{
    outline:2px solid var(--fq-sky);
    outline-offset:3px;
    border-radius:10px;
}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-f74d44a *,
    .elementor-754 .elementor-element.elementor-element-f74d44a *::before,
    .elementor-754 .elementor-element.elementor-element-f74d44a *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

}


/* =========================================================
   18. TEXT SELECTION
   ========================================================= */

.elementor-754 .elementor-element.elementor-element-f74d44a ::selection{
    background:var(--fq-sky);
    color:var(--fq-navy-dark);
}


/* =========================================================
   =========================================================
   PENGATURAN DI PANEL ELEMENTOR

   1. Container terluar
      Style > Background : KOSONGKAN
      Advanced > Padding : 80-110px atas & bawah

   2. Container terluar (layout)
      Layout > Direction : Row
      Layout > Gap       : 60px
      faq-left  : Width 40%   (Mobile 100%)
      faq-right : Width 58%   (Mobile 100%)
      Di Mobile : Direction = Column, Gap = 30px

   3. faq-left
      Direction = Column, Gap = 18px

   4. Widget Accordion (faq-list)
      Style > Accordion > Border Type  : None
      Style > Accordion > Space Between: KOSONGKAN
      Style > Title > Background       : KOSONGKAN
      Style > Content > Background     : KOSONGKAN
      Style > Icon > Color             : KOSONGKAN

   5. Widget Button (faq-btn)
      Content > Icon Position : After
      Content > Icon Spacing  : KOSONGKAN
      Style > Background & Border : KOSONGKAN


   ---------------------------------------------------------
   UKURAN JUDUL MOBILE (v7)
   ---------------------------------------------------------
   Ubah di blok 01 :  --fq-title-mobile:40px;
   Ukuran Mobile di panel Typography faq-title tidak
   berpengaruh lagi karena memakai !important.


   ---------------------------------------------------------
   PENTING — MENULIS KOMENTAR CSS
   ---------------------------------------------------------
   Jangan menulis tanda pembuka atau penutup komentar
   di DALAM komentar lain. CSS akan menganggap komentar
   selesai lebih awal dan membuang aturan setelahnya.


   ---------------------------------------------------------
   JUDUL BERGRADASI
   ---------------------------------------------------------
   Di editor Heading faq-title tulis:

       Useful answers before you <span>go.</span>


   ---------------------------------------------------------
   SETELAH MENEMPEL CSS
   ---------------------------------------------------------
   Elementor > Tools > Regenerate CSS & Data
   lalu bersihkan cache plugin dan Cloudflare.


   ---------------------------------------------------------
   KALAU PANEL MASIH TIDAK BEREFEK
   ---------------------------------------------------------
   1. Klik ikon globe kecil di sebelah Typography
      lalu pilih "Custom".
   2. Untuk Accordion versi baru, Typography judul ada di
      Style > Title, bukan Style > Content.
   3. Warna teks pertanyaan saat item TERBUKA diatur CSS
      (blok 10). Hapus blok itu kalau ingin ikut panel.


   ---------------------------------------------------------
   CARA MENGEDIT
   ---------------------------------------------------------
   Font & warna teks : Style > Typography pada tiap widget
   Warna global      : blok 01 di atas
   Kata watermark    : --fq-watermark
   Sudut item        : --fq-item-radius
   Judul mobile      : --fq-title-mobile
   ========================================================= *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d13a0c5 *//* ============================================================
   CV BALINGKANG PARADISE
   FINAL CTA SECTION — "AZURE INVITATION" V30

   DIPASANG DI:
   Container PALING LUAR section CTA
   Advanced > Custom CSS

   ------------------------------------------------------------
   PERBAIKAN v30 — OVERLAY LENGKUNGAN ATAS
   ------------------------------------------------------------
   MASALAH:
   Overlay bawaan Elementor (Style > Background Overlay) punya
   border-radius sendiri, TIDAK mengikuti lengkungan arch dari
   CSS ini. Akibatnya di dua sudut atas, foto terlihat terang
   (tidak tertutup overlay) karena lengkungan overlay dan
   lengkungan panel tidak sama.

   SOLUSI:
   1. Overlay dibuat oleh CSS ini sendiri (pseudo-element
      .cta-shell::before) dengan border-radius:inherit,
      jadi SELALU sama persis dengan bentuk arch panel.
   2. Overlay bawaan Elementor dimatikan agar tidak dobel.
   3. Radius panel dikunci lewat CSS (!important) supaya
      panel, foto, dan overlay satu bentuk di semua layar.

   WARNA OVERLAY : --cta-overlay-rgb  (default #1F1F1F)
   KEPEKATAN     : --cta-overlay-opacity
                   0   = tanpa overlay (panel navy asli)
                   .72 = default
                   1   = hitam pekat penuh

   Kalau memakai foto latar di panel, pasang foto di
   cta-shell > Style > Background > Image.
   Overlay di panel Elementor cukup DIKOSONGKAN.
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5{

    --cta-sky:#4DC0FF;
    --cta-sky-light:#8BD8FF;
    --cta-azure:#1E8FD6;
    --cta-ocean:#0A5C8F;
    --cta-navy:#063A5E;
    --cta-navy-dark:#041E33;

    --cta-ice:#EAF7FF;
    --cta-mist:#CFEBFB;
    --cta-white:#FFFFFF;

    --cta-bg-top:#F8FCFF;
    --cta-bg-mid:#F1F8FD;
    --cta-bg-bottom:#EAF4FC;

    --cta-text:rgba(234,247,255,.92);
    --cta-muted:rgba(234,247,255,.78);
    --cta-soft:rgba(207,235,251,.66);

    --cta-line:rgba(77,192,255,.26);

    /* v30 : OVERLAY PANEL — #1F1F1F = 31,31,31 */
    --cta-overlay-rgb:31,31,31;
    --cta-overlay-opacity:.72;

    --cta-font-display:"DM Serif Display",Georgia,serif;
    --cta-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --cta-panel-radius:150px 150px 26px 26px;
    --cta-card-radius:20px 4px 20px 20px;
    --cta-btn-radius:14px 4px 14px 14px;

    --cta-watermark:"READY";

    --cta-ease:cubic-bezier(.2,.75,.2,1);


    /* ---------- SECTION ---------- */

    position:relative;

    isolation:isolate;

    overflow:hidden;

    color:var(--cta-navy);

    font-family:var(--cta-font-body);

    background-image:none!important;

    background:

        radial-gradient(
            circle at 8% 10%,
            rgba(77,192,255,.14),
            transparent 26%
        ),

        radial-gradient(
            circle at 92% 18%,
            rgba(30,143,214,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 86% 92%,
            rgba(139,216,255,.18),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            var(--cta-bg-top) 0%,
            var(--cta-bg-mid) 54%,
            var(--cta-bg-bottom) 100%
        )

        !important;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 *,
.elementor-754 .elementor-element.elementor-element-d13a0c5 *::before,
.elementor-754 .elementor-element.elementor-element-d13a0c5 *::after{
    box-sizing:border-box;
}


/* ------------------------------------------------------------
   02. TEKSTUR GRID HALUS
------------------------------------------------------------ */

.elementor-754 .elementor-element.elementor-element-d13a0c5::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    opacity:.40;

    background-image:

        linear-gradient(
            rgba(30,143,214,.030) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(30,143,214,.030) 1px,
            transparent 1px
        );

    background-size:52px 52px;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 14%,
            #000 86%,
            transparent
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 14%,
            #000 86%,
            transparent
        );
}


/* ------------------------------------------------------------
   03. WATERMARK OUTLINE
------------------------------------------------------------ */

.elementor-754 .elementor-element.elementor-element-d13a0c5::after{

    content:var(--cta-watermark);

    position:absolute;

    left:12px;
    bottom:-22px;

    z-index:0;

    pointer-events:none;

    user-select:none;

    color:transparent;

    font-family:var(--cta-font-display);

    font-size:clamp(72px,11.5vw,178px);

    line-height:.78;

    letter-spacing:-.05em;

    white-space:nowrap;

    -webkit-text-stroke:1px rgba(30,143,214,.13);

    opacity:.78;
}


/* ============================================================
   04. SHELL  —  .cta-shell
   Panel berbentuk arch
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell{

    /* v30 : radius dikunci agar panel, foto, dan overlay
       selalu satu bentuk. Elementor memakai variabel
       --border-radius untuk lapisan overlay/slideshow-nya. */
    --border-radius:var(--cta-panel-radius);

    border-radius:var(--cta-panel-radius)!important;

    position:relative;

    z-index:3;

    overflow:hidden;

    isolation:isolate;

    box-shadow:
        0 34px 74px rgba(4,30,51,.28),
        0 0 0 1px rgba(77,192,255,.18),
        inset 0 1px 0 rgba(255,255,255,.10);
}


/* tampilan panel — bisa ditimpa panel Elementor
   (kecuali border-radius, yang dikunci di atas) */

.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-shell){

    padding:clamp(38px,4.6vw,66px) clamp(24px,4vw,58px)
            clamp(40px,4.6vw,62px);

    background-color:var(--cta-navy);

    background-image:

        radial-gradient(
            circle at 18% 8%,
            rgba(77,192,255,.26),
            transparent 40%
        ),

        radial-gradient(
            circle at 88% 92%,
            rgba(30,143,214,.24),
            transparent 44%
        ),

        linear-gradient(
            158deg,
            var(--cta-navy) 0%,
            var(--cta-navy-dark) 56%,
            var(--cta-ocean) 100%
        );

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;
}


/* ------------------------------------------------------------
   v30 : OVERLAY + GARIS ARSITEKTUR

   Satu pseudo-element yang memuat:
   - garis arsitektur halus (lapisan atas)
   - overlay warna #1F1F1F (lapisan bawah)

   border-radius:inherit -> otomatis ikut bentuk arch,
   termasuk dua sudut lengkungan atas.
------------------------------------------------------------ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    border-radius:inherit;

    background:

        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 88px,
            rgba(255,255,255,.020) 89px,
            transparent 90px
        ),

        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 110px,
            rgba(77,192,255,.040) 111px,
            transparent 112px
        ),

        linear-gradient(
            rgba(var(--cta-overlay-rgb),var(--cta-overlay-opacity)),
            rgba(var(--cta-overlay-rgb),var(--cta-overlay-opacity))
        );
}


/* v30 : matikan overlay bawaan Elementor supaya tidak
   dobel gelap, dan paksa lapisan background lain ikut
   bentuk arch. */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell > .elementor-background-overlay{

    display:none!important;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell > .elementor-background-slideshow,
.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell > .elementor-background-video-container{

    border-radius:inherit!important;

    overflow:hidden;
}


/* keystone belah ketupat di puncak lengkungan */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell::after{

    content:"";

    position:absolute;

    top:16px;
    left:50%;

    z-index:4;

    width:28px;
    height:28px;

    transform:translateX(-50%) rotate(45deg);

    border-radius:7px;

    pointer-events:none;

    background:
        linear-gradient(
            135deg,
            var(--cta-sky-light),
            var(--cta-azure)
        );

    box-shadow:
        0 6px 18px rgba(77,192,255,.50),
        inset 0 1px 0 rgba(255,255,255,.40);

    animation:ctaKeystone 6s ease-in-out infinite;
}


@keyframes ctaKeystone{

    0%,100%{
        transform:translateX(-50%) rotate(45deg) scale(1);
    }

    50%{
        transform:translateX(-50%) rotate(45deg) scale(1.08);
    }

}


/* ============================================================
   05. EYEBROW  —  .cta-eyebrow
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-eyebrow{

    position:relative;

    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-eyebrow .elementor-heading-title{

    display:inline-block;

    margin:0;

    padding:8px 16px;

    border:1px solid rgba(77,192,255,.34);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(4,30,51,.62),
            rgba(10,92,143,.36)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 10px 24px rgba(4,30,51,.26);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);

    text-transform:uppercase;

    text-shadow:0 0 18px rgba(77,192,255,.34);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-eyebrow .elementor-heading-title){

    font-family:var(--cta-font-body);

    font-size:12px;

    font-weight:600;

    letter-spacing:.20em;

    color:var(--cta-sky);
}


/* ============================================================
   06. JUDUL  —  .cta-title
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-title{

    position:relative;

    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-title .elementor-heading-title){

    margin:0;

    font-family:var(--cta-font-display);

    font-weight:400;

    font-size:clamp(34px,4.2vw,60px);

    line-height:1.08;

    letter-spacing:-.022em;

    color:var(--cta-white);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-title .elementor-heading-title{

    text-shadow:0 6px 30px rgba(4,30,51,.45);

    text-wrap:balance;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--cta-sky-light) 0%,
            var(--cta-sky) 52%,
            var(--cta-azure) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* ============================================================
   07. TEKS  —  .cta-text
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-text{

    position:relative;

    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-text){

    max-width:660px;

    margin-inline:auto;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-text .elementor-widget-container),
.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-text p){

    margin:0;

    font-family:var(--cta-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.78;

    color:var(--cta-muted);
}


/* ============================================================
   08. WADAH FITUR  —  .cta-features
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-features{

    position:relative;

    z-index:3;
}


/* ============================================================
   09. KARTU FITUR  —  .cta-feature
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    box-shadow:
        0 16px 38px rgba(4,30,51,.26),
        inset 0 1px 0 rgba(255,255,255,.12);

    transition:
        transform .45s var(--cta-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature){

    padding:26px 24px 28px;

    border:1px solid transparent;

    border-radius:var(--cta-card-radius);

    background:

        linear-gradient(
            158deg,
            rgba(20,78,120,.92) 0%,
            rgba(9,48,79,.94) 100%
        ) padding-box,

        linear-gradient(
            150deg,
            rgba(77,192,255,.72) 0%,
            rgba(30,143,214,.24) 46%,
            rgba(255,255,255,.10) 100%
        ) border-box;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature::after{

    content:"";

    position:absolute;

    top:0;
    left:24px;

    z-index:4;

    width:44px;
    height:3px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--cta-sky),
            rgba(77,192,255,.18)
        );

    transition:
        width .45s var(--cta-ease),
        box-shadow .35s ease;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    background:
        radial-gradient(
            76% 64% at 14% 0%,
            rgba(77,192,255,.30) 0%,
            rgba(30,143,214,.10) 46%,
            transparent 74%
        );

    opacity:0;

    transition:opacity .45s ease;
}


/* ============================================================
   10. ICON BOX di dalam .cta-feature
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-wrapper{

    position:relative;

    z-index:2;

    display:grid!important;

    grid-template-columns:56px minmax(0,1fr);

    grid-template-rows:auto auto;

    column-gap:16px;

    row-gap:7px;

    align-items:start;

    text-align:left!important;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-icon{

    grid-column:1;

    grid-row:1 / 3;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    box-shadow:
        0 12px 26px rgba(30,143,214,.40),
        inset 0 1px 0 rgba(255,255,255,.42);

    transition:
        transform .45s var(--cta-ease),
        box-shadow .45s ease;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon){

    width:54px;

    height:54px;

    padding:0;

    border:1px solid rgba(255,255,255,.32);

    border-radius:17px 4px 17px 17px;

    color:#FFFFFF;

    background:
        linear-gradient(
            140deg,
            var(--cta-sky) 0%,
            var(--cta-azure) 58%,
            var(--cta-ocean) 100%
        );
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon svg){

    width:23px;

    height:23px;

    fill:currentColor;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon i){

    font-size:23px;

    color:#FFFFFF;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-content{

    display:contents;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-title{

    grid-column:2;

    grid-row:1;

    margin:0!important;

    transition:color .35s ease;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title),
.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title a){

    font-family:var(--cta-font-display);

    font-weight:400;

    font-size:clamp(20px,1.4vw,24px);

    line-height:1.2;

    letter-spacing:-.008em;

    color:var(--cta-white);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-description{

    grid-column:2;

    grid-row:2;

    margin:0!important;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-description){

    font-family:var(--cta-font-body);

    font-weight:300;

    font-size:14.5px;

    line-height:1.68;

    color:var(--cta-soft);
}


/* ============================================================
   11. HOVER KARTU FITUR
============================================================ */

@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover{

        transform:translateY(-6px);

        box-shadow:
            0 26px 54px rgba(4,30,51,.34),
            inset 0 1px 0 rgba(255,255,255,.18);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover::before{

        opacity:1;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover::after{

        width:calc(100% - 48px);

        box-shadow:0 2px 14px rgba(77,192,255,.45);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover .elementor-icon{

        transform:translateY(-2px) rotate(-5deg) scale(1.06);

        box-shadow:
            0 18px 36px rgba(30,143,214,.50),
            inset 0 1px 0 rgba(255,255,255,.52);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover .elementor-icon-box-title{

        color:var(--cta-sky-light);
    }

}


/* ============================================================
   12. WADAH TOMBOL  —  .cta-actions
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions{

    position:relative;

    z-index:3;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions::before{

    content:"";

    position:absolute;

    left:50%;
    top:-20px;

    width:min(320px,70%);
    height:1px;

    transform:translateX(-50%);

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,192,255,.48),
            transparent
        );
}


/* ============================================================
   13. GERAK DASAR TOMBOL
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .elementor-button{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    overflow:hidden;

    transition:
        transform .40s var(--cta-ease),
        box-shadow .40s var(--cta-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .elementor-button-icon{

    transition:transform .40s var(--cta-ease);
}


/* ============================================================
   14. TOMBOL UTAMA  —  .cta-btn-primary
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button{

    box-shadow:
        0 14px 32px rgba(30,143,214,.42),
        inset 0 1px 0 rgba(255,255,255,.38);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-primary .elementor-button){

    padding:16px 34px;

    min-height:54px;

    border:1px solid rgba(255,255,255,.28);

    border-radius:var(--cta-btn-radius);

    background:
        linear-gradient(
            138deg,
            var(--cta-sky) 0%,
            var(--cta-azure) 56%,
            var(--cta-ocean) 100%
        );

    color:#05202F;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-primary .elementor-button-text){

    font-family:var(--cta-font-body);

    font-size:15px;

    font-weight:600;

    letter-spacing:.015em;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button::before{

    content:"";

    position:absolute;

    top:-30%;
    left:-110%;

    width:46%;
    height:160%;

    z-index:-1;

    transform:skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.18) 24%,
            rgba(255,255,255,.72) 50%,
            rgba(255,255,255,.18) 76%,
            transparent
        );

    transition:left .85s ease;
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                138deg,
                var(--cta-sky-light) 0%,
                var(--cta-sky) 52%,
                var(--cta-azure) 100%
            );

        border-color:rgba(255,255,255,.42);

        box-shadow:
            0 22px 46px rgba(77,192,255,.52),
            inset 0 1px 0 rgba(255,255,255,.48);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button:hover::before{

        left:160%;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* ============================================================
   15. TOMBOL KEDUA  —  .cta-btn-secondary
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-secondary .elementor-button){

    padding:16px 30px;

    min-height:54px;

    border:1.5px solid rgba(139,216,255,.55);

    border-radius:var(--cta-btn-radius);

    background:transparent;

    color:var(--cta-ice);
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-secondary .elementor-button-text){

    font-family:var(--cta-font-body);

    font-size:15px;

    font-weight:600;

    letter-spacing:.015em;
}


.elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    border-radius:inherit;

    background:
        linear-gradient(
            120deg,
            rgba(77,192,255,.24),
            rgba(30,143,214,.20)
        );

    transform:scaleX(0);

    transform-origin:left center;

    transition:transform .5s var(--cta-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button:hover{

        transform:translateY(-3px);

        border-color:rgba(139,216,255,.95);

        color:#FFFFFF;

        box-shadow:
            0 16px 34px rgba(4,30,51,.30),
            0 0 0 4px rgba(77,192,255,.12);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button:hover::before{

        transform:scaleX(1);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* ============================================================
   16. ANIMASI MASUK SAAT DI-SCROLL
============================================================ */

@supports (animation-timeline: view()){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-features{

        animation:ctaRise linear both;

        animation-timeline:view();

        animation-range:entry 2% entry 40%;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions{

        animation:ctaRise linear both;

        animation-timeline:view();

        animation-range:entry 8% entry 46%;
    }

}


@keyframes ctaRise{

    from{
        opacity:0;
        transform:translateY(26px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* ============================================================
   17. TABLET  768 - 1024
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-754 .elementor-element.elementor-element-d13a0c5{

        --cta-panel-radius:120px 120px 22px 22px;

        --cta-card-radius:18px 4px 18px 18px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-shell){

        padding:40px 30px 44px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature){

        padding:22px 20px 24px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:50px minmax(0,1fr);

        column-gap:14px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon){

        width:50px;

        height:50px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title a){

        font-size:21px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-primary .elementor-button),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-secondary .elementor-button){

        padding:15px 26px;

        min-height:51px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5::after{

        left:8px;

        bottom:-16px;

        font-size:clamp(60px,14vw,124px);
    }

}


/* ============================================================
   18. MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-754 .elementor-element.elementor-element-d13a0c5{

        --cta-panel-radius:84px 84px 18px 18px;

        --cta-card-radius:16px 4px 16px 16px;

        --cta-btn-radius:13px 4px 13px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-shell){

        padding:34px 18px 36px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-shell::after{

        top:12px;

        width:22px;
        height:22px;

        border-radius:6px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-eyebrow .elementor-heading-title{

        padding:7px 13px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.17em;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-title .elementor-heading-title){

        font-size:clamp(27px,8.2vw,36px);

        line-height:1.12;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-text .elementor-widget-container),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-text p){

        font-size:15px;

        line-height:1.72;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature){

        padding:19px 17px 21px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature::after{

        left:17px;

        width:32px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:48px minmax(0,1fr);

        column-gap:13px;

        row-gap:5px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon){

        width:48px;

        height:48px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon svg){

        width:21px;

        height:21px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-title a){

        font-size:19px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon-box-description){

        font-size:14.5px;

        line-height:1.64;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions::before{

        top:-15px;

        width:min(220px,80%);
    }


    /* tombol berdampingan kiri-kanan */

    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions{

        display:flex!important;

        flex-direction:row!important;

        flex-wrap:nowrap!important;

        align-items:stretch!important;

        justify-content:center!important;

        gap:10px!important;

        width:100%;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-actions > .elementor-element,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary{

        flex:1 1 0!important;

        width:auto!important;

        min-width:0!important;

        max-width:none!important;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button{

        width:100%;

        gap:7px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-primary .elementor-button),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-secondary .elementor-button){

        padding:14px 12px;

        min-height:52px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-primary .elementor-button-text),
    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-btn-secondary .elementor-button-text){

        font-size:13.5px;

        letter-spacing:.01em;

        white-space:nowrap;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-primary .elementor-button-icon svg,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button-icon svg{

        width:15px;

        height:15px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-btn-secondary .elementor-button::before{

        transform:scaleX(1);
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5::after{

        left:4px;

        bottom:-8px;

        font-size:clamp(52px,19vw,92px);

        opacity:.50;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature:hover{

        transform:none;
    }

}


/* ============================================================
   19. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-754 .elementor-element.elementor-element-d13a0c5{

        --cta-panel-radius:68px 68px 16px 16px;

        padding-left:max(14px,env(safe-area-inset-left));

        padding-right:max(14px,env(safe-area-inset-right));
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-shell){

        padding:30px 15px 32px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-title .elementor-heading-title){

        font-size:clamp(25px,7.8vw,32px);
    }

}


/* ============================================================
   20. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-title .elementor-heading-title){

        font-size:24px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:42px minmax(0,1fr);

        column-gap:11px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon){

        width:42px;

        height:42px;
    }


    .elementor-754 .elementor-element.elementor-element-d13a0c5 :where(.cta-feature .elementor-icon svg){

        width:18px;

        height:18px;
    }

}


/* ============================================================
   21. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 a,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   22. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-754 .elementor-element.elementor-element-d13a0c5 *,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 *::before,
    .elementor-754 .elementor-element.elementor-element-d13a0c5 *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   23. FOKUS KEYBOARD
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 a:focus-visible,
.elementor-754 .elementor-element.elementor-element-d13a0c5 button:focus-visible,
.elementor-754 .elementor-element.elementor-element-d13a0c5 .elementor-button:focus-visible{

    outline:2px solid var(--cta-sky);

    outline-offset:4px;

    border-radius:10px;
}


/* ============================================================
   24. TEXT SELECTION
============================================================ */

.elementor-754 .elementor-element.elementor-element-d13a0c5 ::selection{

    background:var(--cta-sky);

    color:var(--cta-navy-dark);
}


/* ============================================================
   TABEL CLASS  (tidak berubah)

   Container (paling luar)   -> tempat CSS ini ditempel
     Container               -> cta-shell   (foto latar di sini)
       Heading (eyebrow)     -> cta-eyebrow
       Heading (judul besar) -> cta-title
       Text Editor           -> cta-text
       Container             -> cta-features
         Container (kartu 1) -> cta-feature
           Icon Box          -> tanpa class
         Container (kartu 2) -> cta-feature
           Icon Box          -> tanpa class
       Container             -> cta-actions
         Button (utama)      -> cta-btn-primary
         Button (kedua)      -> cta-btn-secondary

   ---------------------------------------------------------
   YANG DIRAPIKAN DI PANEL ELEMENTOR (v30)
   ---------------------------------------------------------
   cta-shell
     Style > Background        : isi foto (Image) di sini
     Style > Background Overlay: KOSONGKAN (CSS yang mengatur)
     Style > Border Radius     : KOSONGKAN (CSS yang mengatur)
     Advanced > Padding        : KOSONGKAN

   ---------------------------------------------------------
   CARA MENGATUR OVERLAY
   ---------------------------------------------------------
   Warna    : --cta-overlay-rgb       (31,31,31 = #1F1F1F)
   Pekat    : --cta-overlay-opacity   (0 s/d 1)
   Tanpa foto + ingin navy asli : set opacity ke 0
   ============================================================ *//* End custom CSS */
/* Start custom CSS */html, body{
    overflow-x: hidden !important;
    max-width: 100%;
}/* End custom CSS */