.elementor-2166 .elementor-element.elementor-element-d991ff1{--display:flex;--min-height:450px;--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;--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-2166 .elementor-element.elementor-element-d991ff1:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-d991ff1 > .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-2166 .elementor-element.elementor-element-d991ff1::before, .elementor-2166 .elementor-element.elementor-element-d991ff1 > .elementor-background-video-container::before, .elementor-2166 .elementor-element.elementor-element-d991ff1 > .e-con-inner > .elementor-background-video-container::before, .elementor-2166 .elementor-element.elementor-element-d991ff1 > .elementor-background-slideshow::before, .elementor-2166 .elementor-element.elementor-element-d991ff1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2166 .elementor-element.elementor-element-d991ff1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-2166 .elementor-element.elementor-element-565a626{--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-2166 .elementor-element.elementor-element-f6e5572{--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;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:2px;--padding-left:25px;--padding-right:0px;}.elementor-2166 .elementor-element.elementor-element-4905f09{--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;--justify-content:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-4905f09.e-con{--flex-grow:0;--flex-shrink:0;}.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-2166 .elementor-element.elementor-element-efcae4f .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:13px;font-weight:500;line-height:1.08em;color:var( --e-global-color-62a787b );}.elementor-2166 .elementor-element.elementor-element-3d4e875{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-2166 .elementor-element.elementor-element-3d4e875 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:55px;font-weight:500;line-height:1.08em;color:#FFFFFF;}.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-2166 .elementor-element.elementor-element-c6e8a5f{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;line-height:1.65em;color:#F7F1E7;}.elementor-2166 .elementor-element.elementor-element-1e76dff{--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-2166 .elementor-element.elementor-element-dc874c1{--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-2166 .elementor-element.elementor-element-edf9dbc{--grid-columns:3;}.elementor-2166 .elementor-element.elementor-element-edf9dbc .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2166 .elementor-element.elementor-element-edf9dbc .e-loop-item > .elementor-section, .elementor-2166 .elementor-element.elementor-element-edf9dbc .e-loop-item > .elementor-section > .elementor-container, .elementor-2166 .elementor-element.elementor-element-edf9dbc .e-loop-item > .e-con, .elementor-2166 .elementor-element.elementor-element-edf9dbc .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2166 .elementor-element.elementor-element-e79d89b{--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-2166 .elementor-element.elementor-element-8d5a4ff{--display:flex;}.elementor-2166 .elementor-element.elementor-element-3c96fe3{text-align:start;}.elementor-2166 .elementor-element.elementor-element-3c96fe3 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-2166 .elementor-element.elementor-element-efbd055{--display:flex;--justify-content:center;}.elementor-2166 .elementor-element.elementor-element-94e6ea6{text-align:start;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-2166 .elementor-element.elementor-element-27ebcc5{--display:flex;}.elementor-2166 .elementor-element.elementor-element-98439f2{--grid-columns:3;}.elementor-2166 .elementor-element.elementor-element-98439f2 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2166 .elementor-element.elementor-element-98439f2 .e-loop-item > .elementor-section, .elementor-2166 .elementor-element.elementor-element-98439f2 .e-loop-item > .elementor-section > .elementor-container, .elementor-2166 .elementor-element.elementor-element-98439f2 .e-loop-item > .e-con, .elementor-2166 .elementor-element.elementor-element-98439f2 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2166 .elementor-element.elementor-element-98b397b{--grid-columns:3;--grid-row-gap:1px;--grid-column-gap:1px;}.elementor-2166 .elementor-element.elementor-element-98b397b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2166 .elementor-element.elementor-element-98b397b .e-loop-item > .elementor-section, .elementor-2166 .elementor-element.elementor-element-98b397b .e-loop-item > .elementor-section > .elementor-container, .elementor-2166 .elementor-element.elementor-element-98b397b .e-loop-item > .e-con, .elementor-2166 .elementor-element.elementor-element-98b397b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2166 .elementor-element.elementor-element-8b11c55{--display:flex;}.elementor-2166 .elementor-element.elementor-element-5e8658b{--grid-columns:3;}.elementor-2166 .elementor-element.elementor-element-5e8658b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2166 .elementor-element.elementor-element-5e8658b .e-loop-item > .elementor-section, .elementor-2166 .elementor-element.elementor-element-5e8658b .e-loop-item > .elementor-section > .elementor-container, .elementor-2166 .elementor-element.elementor-element-5e8658b .e-loop-item > .e-con, .elementor-2166 .elementor-element.elementor-element-5e8658b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2166 .elementor-element.elementor-element-6647ab7{--grid-columns:3;--grid-row-gap:1px;--grid-column-gap:1px;}.elementor-2166 .elementor-element.elementor-element-6647ab7 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2166 .elementor-element.elementor-element-6647ab7 .e-loop-item > .elementor-section, .elementor-2166 .elementor-element.elementor-element-6647ab7 .e-loop-item > .elementor-section > .elementor-container, .elementor-2166 .elementor-element.elementor-element-6647ab7 .e-loop-item > .e-con, .elementor-2166 .elementor-element.elementor-element-6647ab7 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2166 .elementor-element.elementor-element-023df5d{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2166 .elementor-element.elementor-element-443c3a9{--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-2166 .elementor-element.elementor-element-041a062{--display:flex;}.elementor-2166 .elementor-element.elementor-element-63b859d{--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-2166 .elementor-element.elementor-element-63b859d:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-63b859d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-63b859d.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-63b859d.e-con{--flex-grow:0;--flex-shrink:0;}.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-2166 .elementor-element.elementor-element-8f10e08 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-1d51547{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-1d51547:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-1d51547 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-d09f458 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-57a74ba{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-ce8f936{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-fc47c70{--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-2166 .elementor-element.elementor-element-7e04d07{text-align:center;}.elementor-2166 .elementor-element.elementor-element-7e04d07 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-044c433{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-044c433 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-45fa624{--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-2166 .elementor-element.elementor-element-2906094{text-align:center;}.elementor-2166 .elementor-element.elementor-element-2906094 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-84c168b{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-84c168b .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-bf31b68{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-bf31b68 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-e4438dc{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-97c56f7{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-d4d34aa{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.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-2166 .elementor-element.elementor-element-3a106d8 .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-2166 .elementor-element.elementor-element-3a106d8{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-3a106d8 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-e2b0ee5{--display:flex;}.elementor-2166 .elementor-element.elementor-element-b54eb21{--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-2166 .elementor-element.elementor-element-b54eb21:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-b54eb21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-b54eb21.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-b54eb21.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2166 .elementor-element.elementor-element-01950cc img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-3be5a3c{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-3be5a3c:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-3be5a3c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-d32fdfd .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-385eb3f{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-474f818{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-0deac8c{--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-2166 .elementor-element.elementor-element-2055e26{text-align:center;}.elementor-2166 .elementor-element.elementor-element-2055e26 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-e7aaf81{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-e7aaf81 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-007666a{--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-2166 .elementor-element.elementor-element-0b39aaf{text-align:center;}.elementor-2166 .elementor-element.elementor-element-0b39aaf .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-a149010{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-a149010 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-17b5bcc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-17b5bcc .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-00c9686{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-888ef97{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-3c423a6{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-69e45ba .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-2166 .elementor-element.elementor-element-69e45ba{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-69e45ba .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-2d42ad6{--display:flex;}.elementor-2166 .elementor-element.elementor-element-d8aa454{--display:flex;}.elementor-2166 .elementor-element.elementor-element-5b62e6d{--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-2166 .elementor-element.elementor-element-5b62e6d:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-5b62e6d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-5b62e6d.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-5b62e6d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2166 .elementor-element.elementor-element-897e1b0 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-9af71e9{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-9af71e9:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-9af71e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-8b548ee .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-821bb45{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-80b0d37{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-d22965e{--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-2166 .elementor-element.elementor-element-120ac0d{text-align:center;}.elementor-2166 .elementor-element.elementor-element-120ac0d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-386e527{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-386e527 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-ab1b969{--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-2166 .elementor-element.elementor-element-a9e800c{text-align:center;}.elementor-2166 .elementor-element.elementor-element-a9e800c .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-0a863b3{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-0a863b3 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-c8befd5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-c8befd5 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-d432fb4{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-1a8e008{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-e71a0af{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-8a6b828 .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-2166 .elementor-element.elementor-element-8a6b828{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-8a6b828 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-38581d0{--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-2166 .elementor-element.elementor-element-5bc4663{--display:flex;}.elementor-2166 .elementor-element.elementor-element-56983d6{--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-2166 .elementor-element.elementor-element-56983d6:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-56983d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-56983d6.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-56983d6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2166 .elementor-element.elementor-element-d0d2894 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-e3f7253{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-e3f7253:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-e3f7253 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-b23f7c7 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-2bd29cb{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-b4bab1c{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-25772e4{--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-2166 .elementor-element.elementor-element-5496954{text-align:center;}.elementor-2166 .elementor-element.elementor-element-5496954 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-945d6f1{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-945d6f1 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-a3924bb{--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-2166 .elementor-element.elementor-element-95fd536{text-align:center;}.elementor-2166 .elementor-element.elementor-element-95fd536 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-4783161{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-4783161 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-89bb830{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-89bb830 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-4b4da24{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-3cf1eba{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-4d280ec{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-f9e96ae .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-2166 .elementor-element.elementor-element-f9e96ae{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-f9e96ae .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-09765d6{--display:flex;}.elementor-2166 .elementor-element.elementor-element-e35ec5c{--display:flex;}.elementor-2166 .elementor-element.elementor-element-bfdbab2{--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-2166 .elementor-element.elementor-element-bfdbab2:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-bfdbab2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-bfdbab2.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-bfdbab2.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2166 .elementor-element.elementor-element-f92d4a7 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-aff9022{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-aff9022:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-aff9022 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-9df25cc .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-df99562{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-9e85b12{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-ebfd7c7{--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-2166 .elementor-element.elementor-element-5cd10ac{text-align:center;}.elementor-2166 .elementor-element.elementor-element-5cd10ac .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-2c99482{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-2c99482 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-072fc88{--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-2166 .elementor-element.elementor-element-c69265d{text-align:center;}.elementor-2166 .elementor-element.elementor-element-c69265d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-fae1049{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-fae1049 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-4409cb8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-4409cb8 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-8fa1568{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-868290e{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-b2a0c16{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-5cb8168 .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-2166 .elementor-element.elementor-element-5cb8168{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-5cb8168 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-5350e3d{--display:flex;}.elementor-2166 .elementor-element.elementor-element-fb77539{--display:flex;}.elementor-2166 .elementor-element.elementor-element-8b71dca{--display:flex;}.elementor-2166 .elementor-element.elementor-element-9a5bd21{--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-2166 .elementor-element.elementor-element-9a5bd21:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-9a5bd21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F0E8;}.elementor-2166 .elementor-element.elementor-element-9a5bd21.e-con:hover{--e-con-transform-translateY:-5px;}.elementor-2166 .elementor-element.elementor-element-9a5bd21.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2166 .elementor-element.elementor-element-8021ae9 img{width:100%;height:190px;object-fit:cover;object-position:center center;border-style:solid;border-width:0px 0px 0px 0px;}.elementor-2166 .elementor-element.elementor-element-dbb2be1{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-2166 .elementor-element.elementor-element-dbb2be1:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-dbb2be1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF6F6;}.elementor-2166 .elementor-element.elementor-element-965ca49 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-e9885e9{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-a356ea5{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-73d6c81{--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-2166 .elementor-element.elementor-element-a59e986{text-align:center;}.elementor-2166 .elementor-element.elementor-element-a59e986 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-86953f5{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-86953f5 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-8e827b4{--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-2166 .elementor-element.elementor-element-3783c71{text-align:center;}.elementor-2166 .elementor-element.elementor-element-3783c71 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-88f98ca{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-88f98ca .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-2166 .elementor-element.elementor-element-d59e50b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;text-align:center;}.elementor-2166 .elementor-element.elementor-element-d59e50b .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#000000;}.elementor-2166 .elementor-element.elementor-element-5eedf2f{--display:flex;--justify-content:space-between;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(1px/2);}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-1px/2);}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2166 .elementor-element.elementor-element-9ab5c27{--display:flex;--min-height:2px;--margin-top:-7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2166 .elementor-element.elementor-element-3809b6c .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-2166 .elementor-element.elementor-element-3809b6c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-3809b6c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2166 .elementor-element.elementor-element-d87a960{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-2166 .elementor-element.elementor-element-ff2e188{--display:flex;--min-height:480px;--justify-content:center;--overlay-opacity:0.26;--border-radius:15px 15px 15px 15px;}.elementor-2166 .elementor-element.elementor-element-ff2e188:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-ff2e188 > .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-2166 .elementor-element.elementor-element-ff2e188::before, .elementor-2166 .elementor-element.elementor-element-ff2e188 > .elementor-background-video-container::before, .elementor-2166 .elementor-element.elementor-element-ff2e188 > .e-con-inner > .elementor-background-video-container::before, .elementor-2166 .elementor-element.elementor-element-ff2e188 > .elementor-background-slideshow::before, .elementor-2166 .elementor-element.elementor-element-ff2e188 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2166 .elementor-element.elementor-element-ff2e188 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#353535;--background-overlay:'';}.elementor-2166 .elementor-element.elementor-element-247d612{text-align:center;}.elementor-2166 .elementor-element.elementor-element-247d612 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:700;line-height:1.08em;color:#FFFFFF;}.elementor-2166 .elementor-element.elementor-element-d7ab790{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-2166 .elementor-element.elementor-element-d7ab790.elementor-element{--align-self:flex-start;}.elementor-2166 .elementor-element.elementor-element-d7ab790 .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-2166 .elementor-element.elementor-element-6dc980d{width:var( --container-widget-width, 58% );max-width:58%;--container-widget-width:58%;--container-widget-flex-grow:0;text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:500;color:#FFFFFF;}.elementor-2166 .elementor-element.elementor-element-6dc980d.elementor-element{--align-self:center;}.elementor-2166 .elementor-element.elementor-element-121bc99{--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-2166 .elementor-element.elementor-element-5137dcb .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-2166 .elementor-element.elementor-element-5137dcb .elementor-button:hover, .elementor-2166 .elementor-element.elementor-element-5137dcb .elementor-button:focus{background-color:#FFFFFF;}.elementor-2166 .elementor-element.elementor-element-5137dcb{width:var( --container-widget-width, 24% );max-width:24%;--container-widget-width:24%;--container-widget-flex-grow:0;}.elementor-2166 .elementor-element.elementor-element-5137dcb.elementor-element{--align-self:center;}.elementor-2166 .elementor-element.elementor-element-5137dcb .elementor-button-content-wrapper{flex-direction:row-reverse;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2166 .elementor-element.elementor-element-d991ff1{--width:100%;}.elementor-2166 .elementor-element.elementor-element-f6e5572{--content-width:100%;}.elementor-2166 .elementor-element.elementor-element-4905f09{--width:87.366%;}.elementor-2166 .elementor-element.elementor-element-63b859d{--width:97%;}.elementor-2166 .elementor-element.elementor-element-d4d34aa{--width:100%;}.elementor-2166 .elementor-element.elementor-element-b54eb21{--width:97%;}.elementor-2166 .elementor-element.elementor-element-3c423a6{--width:100%;}.elementor-2166 .elementor-element.elementor-element-5b62e6d{--width:97%;}.elementor-2166 .elementor-element.elementor-element-e71a0af{--width:100%;}.elementor-2166 .elementor-element.elementor-element-56983d6{--width:97%;}.elementor-2166 .elementor-element.elementor-element-4d280ec{--width:100%;}.elementor-2166 .elementor-element.elementor-element-bfdbab2{--width:97%;}.elementor-2166 .elementor-element.elementor-element-b2a0c16{--width:100%;}.elementor-2166 .elementor-element.elementor-element-9a5bd21{--width:97%;}.elementor-2166 .elementor-element.elementor-element-9ab5c27{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2166 .elementor-element.elementor-element-4905f09{--width:72%;}}@media(min-width:1025px){.elementor-2166 .elementor-element.elementor-element-d991ff1:not(.elementor-motion-effects-element-type-background), .elementor-2166 .elementor-element.elementor-element-d991ff1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-2166 .elementor-element.elementor-element-d991ff1{--min-height:349px;--padding-top:82px;--padding-bottom:68px;--padding-left:30px;--padding-right:30px;}.elementor-2166 .elementor-element.elementor-element-f6e5572{--padding-top:0px;--padding-bottom:0px;--padding-left:22px;--padding-right:22px;}.elementor-2166 .elementor-element.elementor-element-efcae4f .elementor-heading-title{font-size:18px;}.elementor-2166 .elementor-element.elementor-element-3d4e875 .elementor-heading-title{font-size:50px;}.elementor-2166 .elementor-element.elementor-element-c6e8a5f{font-size:14px;}.elementor-2166 .elementor-element.elementor-element-edf9dbc{--grid-columns:2;}.elementor-2166 .elementor-element.elementor-element-98439f2{--grid-columns:2;}.elementor-2166 .elementor-element.elementor-element-98b397b{--grid-columns:2;}.elementor-2166 .elementor-element.elementor-element-5e8658b{--grid-columns:2;}.elementor-2166 .elementor-element.elementor-element-6647ab7{--grid-columns:2;}.elementor-2166 .elementor-element.elementor-element-247d612 .elementor-heading-title{font-size:18px;}}@media(max-width:767px){.elementor-2166 .elementor-element.elementor-element-d991ff1{--padding-top:62px;--padding-bottom:58px;--padding-left:18px;--padding-right:18px;}.elementor-2166 .elementor-element.elementor-element-565a626{--padding-top:70px;--padding-bottom:36px;--padding-left:0px;--padding-right:0px;}.elementor-2166 .elementor-element.elementor-element-f6e5572{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-2166 .elementor-element.elementor-element-4905f09{--width:100%;}.elementor-2166 .elementor-element.elementor-element-efcae4f .elementor-heading-title{font-size:14px;}.elementor-2166 .elementor-element.elementor-element-3d4e875 .elementor-heading-title{font-size:42px;}.elementor-2166 .elementor-element.elementor-element-c6e8a5f{font-size:14px;}.elementor-2166 .elementor-element.elementor-element-edf9dbc{--grid-columns:1;}.elementor-2166 .elementor-element.elementor-element-3c96fe3 .elementor-heading-title{font-size:40px;}.elementor-2166 .elementor-element.elementor-element-94e6ea6{font-size:15px;}.elementor-2166 .elementor-element.elementor-element-98439f2{--grid-columns:1;}.elementor-2166 .elementor-element.elementor-element-98b397b{--grid-columns:1;}.elementor-2166 .elementor-element.elementor-element-5e8658b{--grid-columns:1;}.elementor-2166 .elementor-element.elementor-element-6647ab7{--grid-columns:1;}.elementor-2166 .elementor-element.elementor-element-63b859d{--width:95%;}.elementor-2166 .elementor-element.elementor-element-ce8f936{--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-2166 .elementor-element.elementor-element-e4438dc{--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-2166 .elementor-element.elementor-element-b54eb21{--width:95%;}.elementor-2166 .elementor-element.elementor-element-474f818{--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-2166 .elementor-element.elementor-element-00c9686{--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-2166 .elementor-element.elementor-element-5b62e6d{--width:95%;}.elementor-2166 .elementor-element.elementor-element-80b0d37{--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-2166 .elementor-element.elementor-element-d432fb4{--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-2166 .elementor-element.elementor-element-56983d6{--width:95%;}.elementor-2166 .elementor-element.elementor-element-b4bab1c{--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-2166 .elementor-element.elementor-element-4b4da24{--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-2166 .elementor-element.elementor-element-bfdbab2{--width:95%;}.elementor-2166 .elementor-element.elementor-element-9e85b12{--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-2166 .elementor-element.elementor-element-8fa1568{--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-2166 .elementor-element.elementor-element-9a5bd21{--width:95%;}.elementor-2166 .elementor-element.elementor-element-a356ea5{--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-2166 .elementor-element.elementor-element-5eedf2f{--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-2166 .elementor-element.elementor-element-ff2e188{--min-height:310px;}.elementor-2166 .elementor-element.elementor-element-247d612 .elementor-heading-title{font-size:14px;}.elementor-2166 .elementor-element.elementor-element-d7ab790 .elementor-heading-title{font-size:40px;}.elementor-2166 .elementor-element.elementor-element-6dc980d{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:14px;}.elementor-2166 .elementor-element.elementor-element-121bc99{--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-2166 .elementor-element.elementor-element-5137dcb{--container-widget-width:51%;--container-widget-flex-grow:0;width:var( --container-widget-width, 51% );max-width:51%;}}/* Start custom CSS for container, class: .elementor-element-565a626 *//* ============================================================
PUTU BALI TOUR — RIGHT VISUAL / PHOTO COLLAGE ONLY
Extracted from the Heritage Luxury collage design

CLASSES
.coastal-hero-collage__right
.coastal-hero-collage__photo-main
.coastal-hero-collage__photo-top
.coastal-hero-collage__photo-bottom
.coastal-hero-collage__glass
.coastal-hero-collage__glass-text
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626{
  --hero-maroon:#6D1F24;
  --hero-maroon-dark:#57181D;
  --hero-red:#A83832;
  --hero-red-dark:#8E2B2C;
  --hero-brick:#C85B4A;
  --hero-gold:#D7A44A;
  --hero-ivory:#F7F1E7;
  --hero-blush:#EAD8D2;
  --hero-charcoal:#2B2523;
  --hero-white:#FFFFFF;

  --hero-photo-frame:#F7F1E7;

  --hero-shadow-main:
    0 30px 68px rgba(65,27,27,.30);

  --hero-shadow-float:
    0 17px 36px rgba(65,27,27,.22);

  --hero-tr:
    .56s cubic-bezier(.2,.72,.2,1);
}


/* ============================================================
01. RIGHT VISUAL WRAPPER
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right{
  position:relative;
  z-index:3!important;

  min-width:0;
  max-width:100%;
  box-sizing:border-box;

  overflow:visible!important;
}


/* soft abstract capsule behind photos */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right::before{
  content:"";

  position:absolute;

  top:2%;
  left:14%;

  width:70%;
  height:96%;

  z-index:0;

  border-radius:
    48% 48% 44% 44% / 18% 18% 38% 38%;

  background:
    linear-gradient(
      145deg,
      rgba(234,216,210,.11),
      rgba(255,255,255,.025)
    );

  border:
    1px solid rgba(215,164,74,.17);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 18px 48px rgba(65,27,27,.035);

  pointer-events:none;
}


/* luxury L frame */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right::after{
  content:"";

  position:absolute;

  top:13%;
  left:28%;

  width:48%;
  height:72%;

  z-index:1;

  border-right:
    2px solid rgba(215,164,74,.76);

  border-bottom:
    2px solid rgba(200,91,74,.58);

  border-radius:
    0 0 38px 0;

  pointer-events:none;
}


/* ============================================================
02. ALL PHOTO CONTAINERS
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-main,
.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-top,
.elementor-2166 .elementor-element.elementor-element-565a626 .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);
}


/* ============================================================
03. MAIN PHOTO
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-main{
  top:8%;
  left:27%;

  width:50%;
  height:74%;

  right:auto;
  bottom:auto;

  z-index:2!important;

  border:
    7px solid var(--hero-photo-frame)!important;

  border-radius:
    36px 36px 116px 36px!important;

  box-shadow:
    0 30px 68px rgba(65,27,27,.30),
    0 0 0 1px rgba(215,164,74,.09)!important;
}


/* inner frame */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-main::before{
  content:"";

  position:absolute;
  inset:10px;

  pointer-events:none;

  border:
    1px solid rgba(247,241,231,.52);

  border-radius:
    27px 27px 104px 27px;
}


/* top accent */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-main::after{
  content:"";

  position:absolute;

  top:0;
  left:22px;

  width:54px;
  height:3px;

  border-radius:
    0 0 999px 999px;

  background:
    linear-gradient(
      90deg,
      #D7A44A 0%,
      #D7A44A 42%,
      #C85B4A 78%,
      rgba(200,91,74,.14) 100%
    );
}


/* ============================================================
04. BOTTOM OVERLAP PHOTO
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-bottom{
  left:8%;
  bottom:5%;

  width:41%;
  height:33%;

  top:auto;
  right:auto;

  z-index:7!important;

  border:
    9px solid var(--hero-photo-frame)!important;

  border-radius:
    25px 25px 44px 25px!important;

  box-shadow:
    0 17px 36px rgba(65,27,27,.22),
    0 0 0 5px rgba(215,164,74,.025)!important;

  outline:
    1px solid rgba(168,56,50,.20)!important;

  outline-offset:
    7px;

  transform:
    rotate(-.30deg);
}


/* bottom inner frame */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-bottom::before{
  content:"";

  position:absolute;
  inset:7px;

  pointer-events:none;

  border:
    1px solid rgba(247,241,231,.50);

  border-radius:
    18px 18px 35px 18px;
}


/* ============================================================
05. TOP PHOTO
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-top{
  top:1%;
  right:7%;

  width:30%;
  height:19%;

  left:auto;
  bottom:auto;

  z-index:8!important;

  border:
    6px solid var(--hero-photo-frame)!important;

  border-radius:
    21px 21px 37px 21px!important;

  outline:
    1px solid rgba(215,164,74,.14);

  outline-offset:
    4px;

  box-shadow:
    0 17px 36px rgba(65,27,27,.21)!important;

  transform:
    rotate(.6deg);
}


/* ============================================================
06. FLOATING LABEL
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass{
  position:absolute;

  top:auto;
  left:auto;
  right:3%;
  bottom:14%;

  z-index:10!important;

  width:22%;
  max-width:175px;
  min-width:145px;

  display:block!important;

  padding:
    10px 12px;

  border:
    1px solid rgba(215,164,74,.21)!important;

  border-radius:
    14px 14px 22px 14px!important;

  background:
    linear-gradient(
      145deg,
      rgba(109,31,36,.84),
      rgba(87,24,29,.70)
    )!important;

  box-shadow:
    0 16px 34px rgba(65,27,27,.24),
    inset 0 1px 0 rgba(255,255,255,.055)!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);
}


/* top accent */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass::before{
  content:"";

  position:absolute;

  top:0;
  left:12px;

  width:32px;
  height:2px;

  border-radius:
    0 0 999px 999px;

  background:
    linear-gradient(
      90deg,
      #D7A44A,
      #C85B4A
    );

  transition:
    width .42s ease;
}


/* connector line */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass::after{
  content:"";

  position:absolute;

  top:50%;
  left:-22px;

  width:22px;
  height:1px;

  transform:
    translateY(-50%);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(215,164,74,.68)
    );

  opacity:.55;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass .elementor-heading-title{
  color:#FFFFFF!important;

  font-size:
    clamp(15px,1.05vw,18px)!important;

  line-height:
    1.14!important;

  margin:0;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text{
  width:100%;
  margin-top:5px;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text,
.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text p{
  color:
    rgba(247,241,231,.72)!important;

  font-size:
    9.5px!important;

  line-height:
    1.42!important;

  margin:0;
}


/* max 2 lines */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text p{
  display:
    -webkit-box!important;

  -webkit-box-orient:
    vertical!important;

  -webkit-line-clamp:
    2!important;

  overflow:
    hidden!important;
}


/* ============================================================
07. PHOTO HOVER
============================================================ */

.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-main{
  transform:
    translateY(-3px);

  box-shadow:
    0 35px 76px rgba(65,27,27,.34),
    0 0 0 1px rgba(215,164,74,.14)!important;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-bottom{
  transform:
    rotate(0deg)
    translateY(3px);

  box-shadow:
    0 22px 42px rgba(65,27,27,.26),
    0 0 0 5px rgba(168,56,50,.025)!important;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right:hover
.coastal-hero-collage__photo-top{
  transform:
    rotate(.15deg)
    translateY(-4px);

  box-shadow:
    0 22px 42px rgba(65,27,27,.25)!important;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass:hover{
  transform:
    translateY(-4px);

  border-color:
    rgba(215,164,74,.30)!important;

  box-shadow:
    0 20px 40px rgba(65,27,27,.30),
    inset 0 1px 0 rgba(255,255,255,.065)!important;
}


.elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass:hover::before{
  width:58px;
}


/* ============================================================
08. TABLET
============================================================ */

@media(max-width:1024px){

  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right{
    min-height:
      640px!important;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass{
    right:3%;
    bottom:12%;

    width:21%;
    max-width:165px;
    min-width:140px;

    padding:
      9px 11px;
  }

}


/* ============================================================
09. MOBILE
============================================================ */

@media(max-width:767px){

  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right{
    min-height:
      510px!important;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right::before{
    top:4%;
    left:8%;

    width:78%;
    height:92%;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right::after{
    top:16%;
    left:22%;

    width:57%;
    height:64%;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-main{
    top:10%!important;
    left:23%!important;

    width:59%!important;
    height:67%!important;

    border-width:
      5px!important;

    border-radius:
      27px 27px 74px 27px!important;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-bottom{
    left:3%!important;
    bottom:5%!important;

    width:46%!important;
    height:29%!important;

    border-width:
      6px!important;

    outline-offset:
      4px;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__photo-top{
    top:2%!important;
    right:3%!important;

    width:32%!important;
    height:17%!important;

    border-width:
      4px!important;

    outline-offset:
      2px;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass{
    right:3%;
    bottom:8%;

    width:34%;
    max-width:132px;
    min-width:0;

    padding:
      8px 9px;

    border-radius:
      12px 12px 18px 12px!important;

    background:
      linear-gradient(
        145deg,
        rgba(109,31,36,.89),
        rgba(87,24,29,.78)
      )!important;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass .elementor-heading-title{
    font-size:
      14px!important;

    line-height:
      1.12!important;
  }


  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text,
  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__glass-text p{
    font-size:
      8.8px!important;

    line-height:
      1.38!important;
  }

}


/* ============================================================
10. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right *,
  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right *::before,
  .elementor-2166 .elementor-element.elementor-element-565a626 .coastal-hero-collage__right *::after{
    animation:none!important;
    transition:none!important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d991ff1 *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   PAGE HERO (halaman dalam) — "AZURE BANNER" V26

   DIPASANG DI:
   Section / Container hero halaman dalam
   Advanced > Custom CSS

   CLASS TETAP SAMA:
   pt-hero / pt-hero-shell / pt-hero-copy
   pt-hero-eyebrow / pt-hero-title / pt-hero-title-accent
   pt-hero-text / pt-primary-btn / pt-hero-secondary
   pt-hero-trust / pt-mini-trust

   ------------------------------------------------------------
   PERUBAHAN v25 — DISELARASKAN DENGAN HERO HOME
   ------------------------------------------------------------
   - Pita bernomor "02" DIHAPUS.
     Diganti RAIL VERTIKAL polos bergradasi biru,
     persis seperti hero home.
   - Bingkai arch di dalam hero DIHAPUS.
   - Watermark outline DIHAPUS.
   - Orbit ring putus-putus diganti GLOW BULAT lembut
     yang bernafas pelan, sama seperti hero home.
   - Eyebrow kembali ke kapsul bulat penuh (999px),
     PERSIS seperti hero home: tanpa titik bulat
     di sebelah kiri teks (v26).
   - Garis bawah judul kembali sederhana: melebar
     saat hover, tanpa animasi menyapu.
   - Tombol memakai radius 12px seperti hero home.

   Hasilnya: hero halaman dalam terasa satu keluarga
   dengan hero home, hanya lebih ringkas dan memakai
   foto latar.

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   ------------------------------------------------------------
   Semua aturan font dibungkus :where() -> spesifisitas NOL.
   Panel Elementor (Style > Typography / Text Color)
   SELALU menang.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1{

    /* nama variabel lama dipertahankan */

    --pt-maroon:#063A5E;        /* Navy      */
    --pt-maroon-dark:#041E33;   /* Navy Dark */

    --pt-red:#1E8FD6;           /* Azure     */
    --pt-red-dark:#0A5C8F;      /* Ocean     */

    --pt-brick:#0A5C8F;

    --pt-gold:#4DC0FF;          /* Sky — aksen utama */
    --pt-gold-light:#8BD8FF;

    --pt-ivory:#EAF4FC;
    --pt-blush:#D7ECF9;

    --pt-charcoal:#10222F;
    --pt-white:#FFFFFF;

    --pt-line:rgba(77,192,255,.28);

    --pt-glass:rgba(255,255,255,.075);

    --pt-shadow:
        0 22px 54px rgba(4,30,51,.28);

    --pt-shadow-strong:
        0 30px 72px rgba(4,30,51,.40);

    /* font default — bisa ditimpa panel */
    --pt-font-display:"DM Serif Display",Georgia,serif;
    --pt-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    --pt-ease:cubic-bezier(.22,.72,.2,1);

    position:relative;

    color:var(--pt-charcoal);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 *,
.elementor-2166 .elementor-element.elementor-element-d991ff1 *::before,
.elementor-2166 .elementor-element.elementor-element-d991ff1 *::after{
    box-sizing:border-box;
}


/* ============================================================
   02. HERO WRAPPER

   Foto latar TETAP dari panel Elementor.
   CSS hanya menambah overlay dan dekorasi cahaya.
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

    position:relative;

    isolation:isolate;

    overflow:hidden;

    min-height:clamp(360px,34vw,480px);

    border-top:1px solid rgba(77,192,255,.16);

    border-bottom:1px solid rgba(77,192,255,.14);
}


/* ------------------------------------------------------------
   03. OVERLAY NAVY + GARIS ARSITEKTUR
   Nuansa sama dengan hero home
------------------------------------------------------------ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background:

        radial-gradient(
            circle at 84% 14%,
            rgba(77,192,255,.28) 0%,
            transparent 44%
        ),

        radial-gradient(
            circle at 10% 88%,
            rgba(30,143,214,.24) 0%,
            transparent 46%
        ),

        linear-gradient(
            100deg,
            rgba(4,30,51,.88) 0%,
            rgba(6,58,94,.76) 38%,
            rgba(10,92,143,.50) 68%,
            rgba(30,143,214,.30) 100%
        ),

        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 92px,
            rgba(255,255,255,.020) 93px,
            transparent 94px
        );

    transition:opacity .7s ease;
}


/* ------------------------------------------------------------
   04. FADE SINEMATIK DI DASAR HERO
   Sama seperti hero home
------------------------------------------------------------ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:150px;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(4,30,51,.16) 34%,
            rgba(4,30,51,.42) 100%
        );
}


/* ============================================================
   05. SHELL — glow lembut, sama seperti hero home
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-shell{

    position:relative;

    z-index:4;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-shell::before{

    content:"";

    position:absolute;

    right:-90px;
    top:-110px;

    z-index:-1;

    width:clamp(240px,26vw,400px);
    height:clamp(240px,26vw,400px);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,192,255,.22) 0%,
            rgba(77,192,255,.07) 42%,
            transparent 70%
        );

    filter:blur(8px);

    pointer-events:none;

    animation:ptHeroGlow 9s ease-in-out infinite alternate;
}


@keyframes ptHeroGlow{

    0%{
        opacity:.55;
        transform:translate3d(0,0,0) scale(.96);
    }

    100%{
        opacity:.92;
        transform:translate3d(-18px,16px,0) scale(1.05);
    }

}


/* ============================================================
   06. HERO COPY — RAIL VERTIKAL POLOS

   v25 : nomor "02" dihapus. Kembali ke rail sederhana
   seperti hero home.
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy{

    position:relative;

    z-index:5;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::before{

    content:"";

    position:absolute;

    left:-22px;
    top:4px;

    width:3px;
    height:126px;

    border-radius:999px;

    background:
        linear-gradient(
            180deg,
            var(--pt-gold) 0%,
            var(--pt-gold) 42%,
            var(--pt-red) 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;
}


/* aksen kedua sengaja dimatikan, sama seperti hero home */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::after{

    content:none!important;

    display:none!important;
}


/* ============================================================
   07. EYEBROW — kapsul bulat, sama seperti hero home
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-eyebrow{

    position:relative;

    width:max-content;

    max-width:100%;

    /* v26 : padding simetris, titik bulat sudah dihapus */
    padding:7px 14px;

    border:1px solid rgba(77,192,255,.32);

    /* v25 : kembali ke kapsul bulat penuh */
    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(4,30,51,.60),
            rgba(10,92,143,.32)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 10px 24px rgba(4,30,51,.22);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
}


/* v26 : titik bulat DIHAPUS agar sama persis dengan hero home.
   Pseudo-element sengaja dimatikan supaya tidak ada sisa
   dari versi sebelumnya. */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-eyebrow::before{

    content:none!important;

    display:none!important;
}


/* TIPOGRAFI eyebrow — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-eyebrow .elementor-heading-title){

    font-family:var(--pt-font-body);

    font-size:12px;

    font-weight:600;

    letter-spacing:.20em;

    text-transform:uppercase;

    color:var(--pt-gold);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-eyebrow .elementor-heading-title{

    text-shadow:0 0 18px rgba(77,192,255,.30);
}


/* ============================================================
   08. HERO TITLE
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-title .elementor-heading-title){

    font-family:var(--pt-font-display);

    font-weight:400;

    font-size:clamp(38px,4.6vw,72px);

    line-height:1.06;

    letter-spacing:-.02em;

    color:var(--pt-white);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title .elementor-heading-title{

    text-shadow:
        0 6px 28px rgba(4,30,51,.45),
        0 16px 48px rgba(4,30,51,.28);
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis: Discover Bali's <span>Best Travel</span> */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title .elementor-heading-title span{

    background:
        linear-gradient(
            122deg,
            var(--pt-gold-light) 0%,
            var(--pt-gold) 52%,
            var(--pt-red) 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* ============================================================
   09. ACCENT TITLE + GARIS BAWAH

   v25 : animasi menyapu dihapus. Kembali sederhana
   seperti hero home — melebar saat hover.
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title-accent{

    position:relative;

    width:max-content;

    max-width:100%;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-title-accent .elementor-heading-title){

    font-family:var(--pt-font-display);

    font-weight:400;

    line-height:1.06;

    color:var(--pt-white);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title-accent .elementor-heading-title{

    text-shadow:
        0 6px 26px rgba(4,30,51,.42),
        0 12px 34px rgba(77,192,255,.16);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title-accent::after{

    content:"";

    display:block;

    width:88px;
    height:2px;

    margin-top:12px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--pt-gold),
            rgba(77,192,255,.38),
            transparent
        );

    box-shadow:0 3px 14px rgba(77,192,255,.28);

    transition:width .52s var(--pt-ease);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero:hover .pt-hero-title-accent::after{

    width:138px;
}


/* ============================================================
   10. HERO DESCRIPTION
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-text{

    max-width:620px;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-text .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-text p){

    font-family:var(--pt-font-body);

    font-size:16px;

    font-weight:300;

    line-height:1.76;

    color:rgba(234,247,255,.88);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-text p{

    text-shadow:0 2px 14px rgba(4,30,51,.35);
}


/* ============================================================
   11. GLOBAL BUTTON MOTION
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .elementor-button{

    position:relative;

    transition:
        transform .36s var(--pt-ease),
        box-shadow .36s var(--pt-ease),
        background .32s ease,
        border-color .32s ease,
        color .32s ease;
}


/* ============================================================
   12. PRIMARY CTA — radius 12px seperti hero home
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-primary-btn .elementor-button{

    position:relative;

    overflow:hidden;

    box-shadow:
        0 13px 32px rgba(30,143,214,.38),
        inset 0 1px 0 rgba(255,255,255,.30);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-primary-btn .elementor-button){

    padding:15px 30px;

    border:1px solid rgba(255,255,255,.18);

    border-radius:12px;

    background:
        linear-gradient(
            135deg,
            var(--pt-gold) 0%,
            var(--pt-red) 58%,
            var(--pt-red-dark) 100%
        );

    color:#05202F;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-primary-btn .elementor-button-text){

    font-family:var(--pt-font-body);

    font-size:14.5px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .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;
}


/* garis cahaya di dasar tombol */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .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;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-primary-btn .elementor-button:hover{

        transform:translateY(-3px);

        background:
            linear-gradient(
                135deg,
                var(--pt-gold-light) 0%,
                var(--pt-gold) 55%,
                var(--pt-red) 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-2166 .elementor-element.elementor-element-d991ff1 .pt-primary-btn .elementor-button:hover::before{

        left:138%;
    }

}


/* ============================================================
   13. SECONDARY CTA
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-secondary .elementor-button{

    overflow:hidden;

    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-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-secondary .elementor-button){

    padding:15px 28px;

    border:1px solid rgba(77,192,255,.38);

    border-radius:12px;

    background:rgba(6,58,94,.55);

    color:var(--pt-ivory);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-secondary .elementor-button-text){

    font-family:var(--pt-font-body);

    font-size:14.5px;

    font-weight:600;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .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);
    }

}


/* ============================================================
   14. TEXT LINK
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-text-link .elementor-button{

    padding:0!important;

    background:transparent!important;

    border:0!important;

    box-shadow:none!important;

    transition:
        color .30s ease,
        transform .34s var(--pt-ease);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-text-link .elementor-button){

    color:var(--pt-gold);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-text-link .elementor-button:hover{

        color:var(--pt-gold-light)!important;

        transform:translateX(4px);
    }

}


/* ============================================================
   15. TRUST GRID  (kalau halaman memakainya)
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 .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:14px!important;

    align-items:stretch!important;

    border-top:1px solid rgba(77,192,255,.22);

    isolation:isolate;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-trust::before{

    content:"";

    position:absolute;

    top:-1px;
    left:0;

    width:86px;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--pt-gold) 0%,
            rgba(77,192,255,.34) 58%,
            transparent 100%
        );

    box-shadow:0 2px 12px rgba(77,192,255,.24);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .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:70px!important;

    height:auto!important;

    margin:0!important;

    display:grid!important;

    grid-template-columns:26px minmax(0,1fr)!important;

    column-gap:11px!important;

    align-items:center!important;

    justify-items:start!important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 10px 26px rgba(4,30,51,.18);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);

    transition:
        transform .36s var(--pt-ease),
        border-color .30s ease,
        background .30s ease,
        box-shadow .36s var(--pt-ease);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-mini-trust){

    padding:14px 16px;

    border:1px solid rgba(207,235,251,.14);

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            rgba(234,247,255,.09) 0%,
            rgba(139,216,255,.04) 48%,
            rgba(4,30,51,.28) 100%
        );
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust::after{

    content:"";

    position:absolute;

    top:0;
    left:16px;

    width:36px;
    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--pt-gold),
            rgba(77,192,255,.18)
        );

    transition:width .45s var(--pt-ease);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust > .elementor-element{

    min-width:0!important;

    max-width:none!important;

    margin:0!important;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .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;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .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;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust .elementor-icon{

    width:26px;
    height:26px;

    display:flex!important;

    align-items:center!important;

    justify-content:center!important;

    filter:drop-shadow(0 4px 10px rgba(77,192,255,.32));

    transition:
        transform .34s var(--pt-ease),
        filter .34s ease;
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-mini-trust .elementor-icon){

    color:var(--pt-gold);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-mini-trust .elementor-heading-title){

    font-family:var(--pt-font-body);

    font-size:13.5px;

    font-weight:500;

    line-height:1.35;

    color:rgba(234,247,255,.95);
}


.elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust .elementor-heading-title{

    width:100%!important;

    min-width:0!important;

    max-width:100%!important;

    margin:0!important;

    white-space:normal!important;

    word-break:normal!important;

    writing-mode:horizontal-tb!important;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust:hover{

        transform:translateY(-4px);

        border-color:rgba(77,192,255,.44);

        box-shadow:
            0 18px 38px rgba(4,30,51,.26),
            inset 0 1px 0 rgba(255,255,255,.09);
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust:hover::after{

        width:calc(100% - 32px);

        box-shadow:0 2px 14px rgba(77,192,255,.36);
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust:hover .elementor-icon{

        transform:scale(1.08);
    }

}


/* ============================================================
   16. DESKTOP > 1025
============================================================ */

@media(min-width:1025px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy{

        max-width:760px;
    }

}


/* ============================================================
   17. LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

        min-height:clamp(330px,32vw,420px);
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::before{

        left:-20px;

        height:114px;
    }

}


/* ============================================================
   18. TABLET  768 - 1024
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

        min-height:clamp(300px,40vw,400px);
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy{

        width:88%!important;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::before{

        left:-16px;

        height:104px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-shell::before{

        right:-60px;

        top:-84px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-trust{

        grid-template-columns:repeat(2,minmax(0,1fr))!important;

        gap:12px!important;
    }

}


/* ============================================================
   19. MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

        min-height:clamp(260px,62vw,340px);
    }


    /* overlay dipertegas agar teks terbaca */

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero::before{

        background:

            radial-gradient(
                circle at 80% 12%,
                rgba(77,192,255,.22) 0%,
                transparent 44%
            ),

            linear-gradient(
                180deg,
                rgba(4,30,51,.86) 0%,
                rgba(6,58,94,.76) 46%,
                rgba(10,92,143,.62) 100%
            );
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero::after{

        height:110px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy{

        width:100%!important;
    }


    /* rail dipendekkan, tetap di sisi kiri */

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::before{

        left:-9px;

        top:4px;

        width:2px;

        height:78px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-eyebrow{

        padding:6px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.16em;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-title .elementor-heading-title){

        font-size:clamp(30px,9vw,40px);

        line-height:1.08;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-title-accent::after{

        width:64px;

        margin-top:9px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero:hover .pt-hero-title-accent::after{

        width:92px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-text .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-text p){

        font-size:15px;

        line-height:1.70;
    }


    /* glow dikecilkan */

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-shell::before{

        right:auto;

        left:35%;

        top:-60px;

        width:250px;
        height:250px;

        opacity:.75;
    }


    /* tombol full-width */

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-primary-btn .elementor-button,
    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-secondary .elementor-button{

        width:100%;

        min-height:50px;

        display:flex;

        align-items:center;

        justify-content:center;
    }


    /* trust 2 kolom */

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-trust{

        grid-template-columns:repeat(2,minmax(0,1fr))!important;

        gap:10px!important;

        margin-top:6px;

        padding-top:15px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust{

        min-height:62px!important;

        grid-template-columns:22px minmax(0,1fr)!important;

        column-gap:9px!important;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-mini-trust){

        padding:11px 12px;

        border-radius:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust > .elementor-widget-icon{

        --width:22px!important;

        width:22px!important;

        min-width:22px!important;

        max-width:22px!important;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust .elementor-icon{

        width:22px;
        height:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-mini-trust::after{

        left:12px;

        width:28px;
    }

}


/* ============================================================
   20. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

        padding-left:max(16px,env(safe-area-inset-left));

        padding-right:max(16px,env(safe-area-inset-right));
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-title .elementor-heading-title){

        font-size:clamp(27px,8.6vw,35px);
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-copy::before{

        height:66px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero-trust{

        grid-template-columns:1fr!important;
    }

}


/* ============================================================
   21. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero{

        min-height:240px;
    }


    .elementor-2166 .elementor-element.elementor-element-d991ff1 :where(.pt-hero-title .elementor-heading-title){

        font-size:26px;
    }

}


/* ============================================================
   22. iOS SAFETY
============================================================ */

@supports (-webkit-touch-callout:none){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero,
    .elementor-2166 .elementor-element.elementor-element-d991ff1 .pt-hero *{

        -webkit-text-size-adjust:100%;
    }

}


/* ============================================================
   23. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 a,
    .elementor-2166 .elementor-element.elementor-element-d991ff1 button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   24. FOKUS KEYBOARD
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 a:focus-visible,
.elementor-2166 .elementor-element.elementor-element-d991ff1 button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-d991ff1 .elementor-button:focus-visible{

    outline:2px solid var(--pt-gold);

    outline-offset:3px;

    border-radius:10px;
}


/* ============================================================
   25. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-d991ff1 *,
    .elementor-2166 .elementor-element.elementor-element-d991ff1 *::before,
    .elementor-2166 .elementor-element.elementor-element-d991ff1 *::after{

        animation:none!important;

        transition:none!important;
    }

}


/* ============================================================
   26. TEXT SELECTION
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d991ff1 ::selection{

    background:var(--pt-gold);

    color:var(--pt-maroon-dark);
}


/* ============================================================
   ============================================================
   CATATAN PEMAKAIAN

   1. CLASS (isi di Advanced > CSS Classes):

      Section hero        -> pt-hero
        Container isi     -> pt-hero-shell
          Container teks  -> pt-hero-copy
            Heading kecil -> pt-hero-eyebrow
            Heading judul -> pt-hero-title
            Heading baris2-> pt-hero-title-accent  (opsional)
            Text Editor   -> pt-hero-text
            Button utama  -> pt-primary-btn        (opsional)
            Button kedua  -> pt-hero-secondary     (opsional)


   2. FOTO LATAR tetap dari panel:
      Section > Style > Background > Image.
      CSS hanya menambah overlay.

      Overlay terlalu gelap? Turunkan alpha di blok 03.
      Misal rgba(4,30,51,.88) menjadi rgba(4,30,51,.70).


   3. RAIL KIRI:
      Pastikan container pt-hero-copy punya
      Padding Left minimal 30px di Advanced,
      supaya rail tidak terpotong tepi layar.


   4. JUDUL BERGRADASI:
      Di editor Heading tulis:

          Discover Bali's <span>Best Travel</span>


   5. SEMUA FONT BISA DIEDIT.
      Aturan tipografi memakai :where() sehingga
      spesifisitasnya nol. Atur bebas dari
      Style > Typography dan Text Color, termasuk
      pengaturan terpisah untuk Tablet dan Mobile.
   ============================================================
   ============================================================ *//* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-023df5d *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-023df5d{

    /* 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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::before,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::after,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title a,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title::before,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title::after,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:hover,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:hover::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title:hover::before{

        opacity:1;

        transform:translateX(-50%) translateY(26%);
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:hover::after,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title:hover::after{

        width:40%;

        opacity:.85;
    }

}


/* =========================================================
   =========================================================
   07. TAB AKTIF — pil biru menyala
   =========================================================
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active,
.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"],
.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active:hover,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"],
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title.e-active,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active a,
.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"] a,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title.e-active .e-n-tab-title-text{

    font-weight:600;
}


/* ---------------------------------------------------------
   08. BEAM CAHAYA di atas tab aktif
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active::before,
.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"]::before,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"]::before,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active::after,
.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"]::after,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"]::after,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-content,
.elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tabs-heading::before{

        left:-8px;
        top:50%;

        height:38%;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::after,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tabs-heading::after{

        right:-8px;
        top:50%;

        height:38%;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title{

        width:100%;

        padding:13px 18px !important;

        border-radius:18px !important;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title a,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title-text{

        font-size:14px;
    }


    /* kalau jumlah tab ganjil, tab terakhir melebar penuh */

    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:last-child:nth-child(odd),
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper::after,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tabs-heading::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tabs-heading::after{

        display:none !important;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title a,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title-text{

        font-size:14.5px;
    }


    /* pita aksen kiri — menggantikan glow bawah */

    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title::after,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title::after{

        display:none;
    }


    /* TAB AKTIF — mobile */

    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active,
    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"],
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"],
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title.elementor-active::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title[aria-selected="true"]::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title[aria-selected="true"]::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d .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-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:hover,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title:hover{

        transform:none !important;
    }

}


/* =========================================================
   14. VERY SMALL MOBILE  (<= 400px)
   ========================================================= */

@media(max-width:400px){

    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tabs-wrapper,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tabs-heading{

        gap:7px !important;

        padding:8px !important;

        border-radius:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title{

        padding:12px 15px 12px 20px !important;

        border-radius:13px !important;
    }


    .elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title a,
    .elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title-text{

        font-size:13.5px;
    }

}


/* =========================================================
   15. FOKUS KEYBOARD
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-023df5d .elementor-tab-title:focus-visible,
.elementor-2166 .elementor-element.elementor-element-023df5d .e-n-tab-title:focus-visible{

    outline:2px solid var(--pt-gold);

    outline-offset:3px;
}


/* =========================================================
   16. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-023df5d *,
    .elementor-2166 .elementor-element.elementor-element-023df5d *::before,
    .elementor-2166 .elementor-element.elementor-element-023df5d *::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-57a74ba */.elementor-2166 .elementor-element.elementor-element-57a74ba {
    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-97c56f7 *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-97c56f7 {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-97c56f7 .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-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-97c56f7 .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-63b859d *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d{

    --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-2166 .elementor-element.elementor-element-63b859d *,
.elementor-2166 .elementor-element.elementor-element-63b859d *::before,
.elementor-2166 .elementor-element.elementor-element-63b859d *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-63b859d,
.elementor-2166 .elementor-element.elementor-element-63b859d > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-63b859d::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-2166 .elementor-element.elementor-element-63b859d::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-2166 .elementor-element.elementor-element-63b859d: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-2166 .elementor-element.elementor-element-63b859d:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d: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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-63b859d: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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d: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-2166 .elementor-element.elementor-element-63b859d .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d :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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-63b859d{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-63b859d .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-63b859d *,
    .elementor-2166 .elementor-element.elementor-element-63b859d *::before,
    .elementor-2166 .elementor-element.elementor-element-63b859d *::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-2166 .elementor-element.elementor-element-63b859d .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-2166 .elementor-element.elementor-element-63b859d .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-63b859d .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-385eb3f */.elementor-2166 .elementor-element.elementor-element-385eb3f {
    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-888ef97 *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-888ef97 {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-888ef97 .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-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-888ef97 .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b54eb21 *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21{

    --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-2166 .elementor-element.elementor-element-b54eb21 *,
.elementor-2166 .elementor-element.elementor-element-b54eb21 *::before,
.elementor-2166 .elementor-element.elementor-element-b54eb21 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-b54eb21,
.elementor-2166 .elementor-element.elementor-element-b54eb21 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-b54eb21::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-2166 .elementor-element.elementor-element-b54eb21::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-2166 .elementor-element.elementor-element-b54eb21: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-2166 .elementor-element.elementor-element-b54eb21:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21: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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-b54eb21: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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21: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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 :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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-b54eb21{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-b54eb21 *,
    .elementor-2166 .elementor-element.elementor-element-b54eb21 *::before,
    .elementor-2166 .elementor-element.elementor-element-b54eb21 *::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-2166 .elementor-element.elementor-element-b54eb21 .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-2166 .elementor-element.elementor-element-b54eb21 .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-b54eb21 .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-821bb45 */.elementor-2166 .elementor-element.elementor-element-821bb45 {
    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-1a8e008 *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-1a8e008 {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-1a8e008 .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-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-1a8e008 .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5b62e6d *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d{

    --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-2166 .elementor-element.elementor-element-5b62e6d *,
.elementor-2166 .elementor-element.elementor-element-5b62e6d *::before,
.elementor-2166 .elementor-element.elementor-element-5b62e6d *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-5b62e6d,
.elementor-2166 .elementor-element.elementor-element-5b62e6d > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-5b62e6d::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-2166 .elementor-element.elementor-element-5b62e6d::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-2166 .elementor-element.elementor-element-5b62e6d: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-2166 .elementor-element.elementor-element-5b62e6d:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d: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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-5b62e6d: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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d: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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d :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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-5b62e6d{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-5b62e6d *,
    .elementor-2166 .elementor-element.elementor-element-5b62e6d *::before,
    .elementor-2166 .elementor-element.elementor-element-5b62e6d *::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-2166 .elementor-element.elementor-element-5b62e6d .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-2166 .elementor-element.elementor-element-5b62e6d .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-5b62e6d .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-2bd29cb */.elementor-2166 .elementor-element.elementor-element-2bd29cb {
    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-3cf1eba *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-3cf1eba {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-3cf1eba .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-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-3cf1eba .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-56983d6 *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6{

    --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-2166 .elementor-element.elementor-element-56983d6 *,
.elementor-2166 .elementor-element.elementor-element-56983d6 *::before,
.elementor-2166 .elementor-element.elementor-element-56983d6 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-56983d6,
.elementor-2166 .elementor-element.elementor-element-56983d6 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-56983d6::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-2166 .elementor-element.elementor-element-56983d6::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-2166 .elementor-element.elementor-element-56983d6: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-2166 .elementor-element.elementor-element-56983d6:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6: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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-56983d6: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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6: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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 :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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-56983d6{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-56983d6 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-56983d6 *,
    .elementor-2166 .elementor-element.elementor-element-56983d6 *::before,
    .elementor-2166 .elementor-element.elementor-element-56983d6 *::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-2166 .elementor-element.elementor-element-56983d6 .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-2166 .elementor-element.elementor-element-56983d6 .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-56983d6 .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-df99562 */.elementor-2166 .elementor-element.elementor-element-df99562 {
    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-868290e *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-868290e {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-868290e .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-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-868290e .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfdbab2 *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2{

    --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-2166 .elementor-element.elementor-element-bfdbab2 *,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 *::before,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-bfdbab2,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-bfdbab2::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-2166 .elementor-element.elementor-element-bfdbab2::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-2166 .elementor-element.elementor-element-bfdbab2: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-2166 .elementor-element.elementor-element-bfdbab2:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2: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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-bfdbab2: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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2: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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 :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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-bfdbab2{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-bfdbab2 *,
    .elementor-2166 .elementor-element.elementor-element-bfdbab2 *::before,
    .elementor-2166 .elementor-element.elementor-element-bfdbab2 *::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-2166 .elementor-element.elementor-element-bfdbab2 .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-2166 .elementor-element.elementor-element-bfdbab2 .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-bfdbab2 .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-e9885e9 */.elementor-2166 .elementor-element.elementor-element-e9885e9 {
    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-6ecbfd2 *//* ============================================================
   CUSTOM CSS — LOOP CARD: ICON LIST / LOCATION BADGE (BLUE EDITION)
   ============================================================ */

.elementor-2166 .elementor-element.elementor-element-6ecbfd2 {
  --badge-brand: #4DC0FF;
  --badge-soft: rgba(77, 192, 255, 0.08);
  
  display: inline-flex !important;
  margin-bottom: 6px !important;
}

.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon svg {
  fill: var(--badge-brand) !important;
  color: var(--badge-brand) !important;
}

.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-text,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

:hover > .elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon i,
:hover > .elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon svg,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-2166 .elementor-element.elementor-element-6ecbfd2 .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-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-item,
  .elementor-2166 .elementor-element.elementor-element-6ecbfd2 .elementor-icon-list-icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9a5bd21 *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21{

    --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-2166 .elementor-element.elementor-element-9a5bd21 *,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 *::before,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 *::after{
    box-sizing:border-box;
}


/* v17 : pastikan kartu meregang penuh di dalam grid loop,
   sehingga tinggi semua kartu dalam satu baris sama */

.elementor-2166 .elementor-element.elementor-element-9a5bd21,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 > .e-con-inner{

    align-self:stretch !important;
}


/* ---------------------------------------------------------
   02. CAHAYA SUDUT — muncul saat hover
   --------------------------------------------------------- */

.elementor-2166 .elementor-element.elementor-element-9a5bd21::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-2166 .elementor-element.elementor-element-9a5bd21::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-2166 .elementor-element.elementor-element-9a5bd21: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-2166 .elementor-element.elementor-element-9a5bd21:hover::before{
        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21: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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image > *,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image .elementor-widget-container,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image .elementor-widget-image,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image .elementor-image,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image figure,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image picture,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image figcaption,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image .widget-image-caption{

    display:none !important;
}


/* ---------- GRADASI GELAP DI BAWAH FOTO ----------
   v19 : dipindah ke pseudo-element .pkg-card-image */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21:hover .pkg-card-image img{

        transform:scale(1.09);

        filter:saturate(1.06) contrast(1.02);
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21:hover .pkg-card-image::before{

        left:150%;
    }

}


/* =========================================================
   06. BADGE  —  .pkg-card-badge
   ========================================================= */

/* posisi tetap dipaksa — ini struktural, bukan font */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-badge{

    position:absolute !important;

    top:16px;
    left:16px;

    width:auto !important;

    z-index:5;
}


/* tampilan tombol badge — bisa ditimpa panel */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-badge .elementor-button-icon svg),
.elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-badge .elementor-button-icon i){

    width:14px;
    height:14px;

    font-size:14px;
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-9a5bd21: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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-body){

    padding:20px 22px 24px;

    gap:0;
}


/* =========================================================
   08. META ROW  —  .pkg-card-meta
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-meta){

    gap:10px;

    margin-bottom:14px;

    padding:0;
}


/* --------- DURASI  —  .pkg-card-duration --------- */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-duration{

    width:100% !important;        /* ⬅️ diubah dari auto ke 100% */
}


.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-duration .elementor-icon-list-icon svg),
.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21: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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-rating{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-rating .e-rating-item svg),
.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-title{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-title){

    margin:0 0 9px;
}


/* TIPOGRAFI JUDUL — spesifisitas nol,
   silakan atur bebas dari Style > Typography */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21:hover .pkg-card-title .elementor-heading-title{

        color:var(--pc-azure);
    }

}


/* =========================================================
   10. DESCRIPTION  —  .pkg-card-desc
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-desc{

    width:100%;
}


.elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc){

    margin:0 0 16px;
}


/* TIPOGRAFI DESKRIPSI — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-price{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
}


/* cahaya lembut di sudut kotak harga */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-price-label{

    width:auto !important;
}


.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-price-value{

    width:auto !important;
}


/* TIPOGRAFI HARGA — spesifisitas nol */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-cta{

    width:100%;
}


/* tampilan tombol — bisa ditimpa panel Style > Button */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 :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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-cta .elementor-button-icon{

    transition:transform .4s var(--pc-ease);
}


@media(hover:hover) and (pointer:fine){

    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-cta .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-cta .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* fokus keyboard */

.elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-cta .elementor-button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21{
        --pc-radius:20px 6px 20px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-body){

        padding:18px 19px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-title .elementor-heading-title){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc p){

        font-size:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price){

        padding:13px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:23px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-divider{

        height:30px;

        min-height:30px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-cta .elementor-button){

        min-height:49px;
    }

}


/* =========================================================
   15. MOBILE  (<= 767px)
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-9a5bd21{
        --pc-radius:18px 5px 18px 18px;
    }


    /* v19 : rasio mobile dipasang di .pkg-card-image */

    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image{

        height:auto !important;

        aspect-ratio:16 / 10 !important;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-badge{

        top:12px;
        left:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-badge .elementor-button){

        padding:8px 12px;

        border-radius:11px 4px 11px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-badge .elementor-button-text){

        font-size:10.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-body){

        padding:17px 17px 20px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-meta){

        margin-bottom:12px;

        gap:8px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-duration .elementor-icon-list-item){

        padding:6px 12px 6px 10px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-duration .elementor-icon-list-text){

        font-size:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-rating .elementor-widget-container){

        padding:5px 11px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-title .elementor-heading-title){

        font-size:20px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-desc p){

        font-size:14px;

        line-height:1.62;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price){

        padding:12px 13px;

        border-radius:14px 4px 14px 14px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price-label .elementor-heading-title){

        font-size:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price-value .elementor-heading-title){

        font-size:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-divider{

        height:28px;

        min-height:28px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-cta .elementor-button){

        min-height:50px;

        border-radius:13px 5px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21:hover{

        transform:none;
    }

}


/* =========================================================
   16. VERY SMALL MOBILE  (<= 374px)
   ========================================================= */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-body){

        padding:15px 14px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-meta{

        flex-direction:column;

        align-items:flex-start;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-title .elementor-heading-title){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-price{

        flex-direction:column;

        align-items:center;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 :where(.pkg-card-price){

        gap:4px;
    }


    .elementor-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-divider{

        height:26px;

        min-height:26px;
    }

}


/* =========================================================
   17. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-9a5bd21 *,
    .elementor-2166 .elementor-element.elementor-element-9a5bd21 *::before,
    .elementor-2166 .elementor-element.elementor-element-9a5bd21 *::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-2166 .elementor-element.elementor-element-9a5bd21 .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-2166 .elementor-element.elementor-element-9a5bd21 .pkg-card-image div
       .elementor-2166 .elementor-element.elementor-element-9a5bd21 .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-1e76dff *//* =========================================================
   =========================================================
   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-2166 .elementor-element.elementor-element-1e76dff{

    /* 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-2166 .elementor-element.elementor-element-1e76dff > .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-2166 .elementor-element.elementor-element-1e76dff::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-2166 .elementor-element.elementor-element-1e76dff::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-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner > *:first-child{
    position:relative;
    z-index:3;
}


/* =========================================================
   06. REAL CONTENT ABOVE DECORATION
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner,
.elementor-2166 .elementor-element.elementor-element-1e76dff > .elementor-element,
.elementor-2166 .elementor-element.elementor-element-1e76dff > .elementor-container{
    position:relative;
    z-index:3;
}


/* =========================================================
   07. BOTTOM MICRO TEXT
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-1e76dff > .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-2166 .elementor-element.elementor-element-1e76dff > .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tabs-heading,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title-text,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title::before,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title:hover,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title:hover::before,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title:hover::before{

        left:160%;
    }

}


/* --- tab aktif --- */

.elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title[aria-selected="true"],
.elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title.e-active,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title[aria-selected="true"]::after,
.elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title.e-active::after,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff .e-n-tabs-content > *,
.elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-content{

    animation:
        pkgTabPanel .5s var(--pkg-ease) both;
}


/* sembunyikan garis bawah bawaan Elementor Tabs klasik */

.elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tabs .elementor-tabs-wrapper,
.elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tabs .elementor-tab-title,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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-2166 .elementor-element.elementor-element-1e76dff::before{
        left:2%;
        top:66px;

        font-size:
            clamp(82px,15vw,155px);
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff::after{
        width:360px;
        height:360px;

        right:-140px;
        bottom:-118px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner{
        padding-bottom:68px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::after{
        width:64%;
        bottom:48px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::before{
        bottom:23px;

        font-size:8px;

        letter-spacing:.22em;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title{
        padding:12px 22px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title-text,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title a{
        font-size:14.5px;
    }

}


/* =========================================================
   12. MOBILE
   ========================================================= */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-1e76dff{
        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-2166 .elementor-element.elementor-element-1e76dff::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-2166 .elementor-element.elementor-element-1e76dff::after{
        width:250px;
        height:250px;

        right:-130px;
        bottom:-72px;

        opacity:.50;

        animation:none;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner{
        padding-bottom:60px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::after{
        width:80%;

        bottom:41px;

        height:12px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::before{
        bottom:18px;

        font-size:7px;

        letter-spacing:.17em;
    }


    /* TABS — mobile */

    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tabs-heading,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tabs-wrapper{

        gap:7px;

        padding:7px;

        border-radius:22px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title{

        flex:1 1 auto;

        min-width:0;

        justify-content:center;

        padding:11px 15px;

        border-radius:16px;

        text-align:center;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title-text,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title a{
        font-size:13.5px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title[aria-selected="true"]::after,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title.e-active::after,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title.elementor-active::after{
        bottom:5px;
        width:16px;
    }

}


/* =========================================================
   13. VERY SMALL MOBILE
   ========================================================= */

@media(max-width:430px){

    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::before{
        font-size:6.5px;

        letter-spacing:.12em;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::after{
        width:84%;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title{
        padding:10px 12px;
    }


    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title-text,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-title a{
        font-size:12.5px;
    }

}


/* =========================================================
   14. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-1e76dff::before,
    .elementor-2166 .elementor-element.elementor-element-1e76dff::after,
    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::before,
    .elementor-2166 .elementor-element.elementor-element-1e76dff > .e-con-inner::after,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tabs-content > *,
    .elementor-2166 .elementor-element.elementor-element-1e76dff .elementor-tab-content{
        animation:none !important;
    }

}


/* =========================================================
   15. FOKUS KEYBOARD
   ========================================================= */

.elementor-2166 .elementor-element.elementor-element-1e76dff .e-n-tab-title:focus-visible,
.elementor-2166 .elementor-element.elementor-element-1e76dff .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 container, class: .elementor-element-d87a960 *//* ============================================================
   ============================================================
   CV BALINGKANG PARADISE
   FINAL CTA SECTION — "AZURE INVITATION" V29

   DIPASANG DI:
   Container PALING LUAR section CTA
   Advanced > Custom CSS

   ------------------------------------------------------------
   KENAPA V27 TERLIHAT KOTOR
   ------------------------------------------------------------
   1. Foto latar ramai + kartu kaca blur 12px di atasnya.
      Dua lapis transparan bertumpuk membuat teks
      tenggelam dan kartu terlihat buram.
   2. Section CTA memakai foto, sedangkan section lain
      memakai latar biru terang -> terasa tidak sepadan.
   3. Dua tombol sama-sama gradasi biru penuh, jadi
      tidak ada hierarki.

   ------------------------------------------------------------
   PENDEKATAN V28
   ------------------------------------------------------------
   - Section luar : LATAR BIRU TERANG, sama persis dengan
     About, Package, Why Choose Us, dan Gallery.
     Lengkap dengan tekstur grid dan watermark outline.
   - Isi          : dibungkus PANEL NAVY pekat berbentuk
     arch, bersih tanpa foto di belakang teks.
   - Kartu fitur  : kaca navy terang di atas panel navy —
     kontras jelas, tidak lagi buram.
   - Tombol       : satu solid gradasi, satu ghost outline.

   FOTO LATAR dinonaktifkan lewat background-image:none.
   Cara mengembalikannya ada di catatan paling bawah.

   ------------------------------------------------------------
   PERBAIKAN v29
   ------------------------------------------------------------
   1. WATERMARK dirapikan: dipindah ke KIRI BAWAH
      seperti "GUESTS" di section Guest Review.
      Sebelumnya terpotong di sudut kanan.
   2. EYEBROW jadi KAPSUL KACA seperti di hero section,
      bukan teks berapit garis.
   3. TOMBOL di mobile BERDAMPINGAN kiri-kanan,
      tidak lagi menumpuk full-width.

   ------------------------------------------------------------
   TIPOGRAFI TIDAK DIKUNCI
   Semua aturan font dibungkus :where() -> spesifisitas NOL.
   Panel Elementor SELALU menang.
   ============================================================
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI — UBAH SEMUA WARNA DI SINI
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960{

    --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;

    /* latar section — sama dengan section lain */
    --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);

    /* font default — bisa ditimpa panel */
    --cta-font-display:"DM Serif Display",Georgia,serif;
    --cta-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    /* bentuk panel & kartu */
    --cta-panel-radius:150px 150px 26px 26px;
    --cta-card-radius:20px 4px 20px 20px;
    --cta-btn-radius:14px 4px 14px 14px;

    /* kata watermark — ubah di sini */
    --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);

    /* v28 : foto latar dimatikan agar isi bersih */
    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-2166 .elementor-element.elementor-element-d87a960 *,
.elementor-2166 .elementor-element.elementor-element-d87a960 *::before,
.elementor-2166 .elementor-element.elementor-element-d87a960 *::after{
    box-sizing:border-box;
}


/* ------------------------------------------------------------
   02. TEKSTUR GRID HALUS
   Sama seperti Why Choose Us & Gallery
------------------------------------------------------------ */

.elementor-2166 .elementor-element.elementor-element-d87a960::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  (v29)

   Ditata seperti section Guest Review: kata besar
   outline di KIRI BAWAH, di belakang panel navy.
   Ubah katanya lewat --cta-watermark di blok 01.
------------------------------------------------------------ */

.elementor-2166 .elementor-element.elementor-element-d87a960::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 navy berbentuk arch
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-shell{

    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 */

.elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-shell){

    padding:clamp(38px,4.6vw,66px) clamp(24px,4vw,58px)
            clamp(40px,4.6vw,62px);

    border-radius:var(--cta-panel-radius);

    background:

        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%
        );
}


/* garis arsitektur halus di dalam panel */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-shell::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    opacity:.7;

    background:

        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 88px,
            rgba(255,255,255,.026) 89px,
            transparent 90px
        ),

        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 110px,
            rgba(77,192,255,.05) 111px,
            transparent 112px
        );
}


/* keystone belah ketupat di puncak lengkungan */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-eyebrow{

    position:relative;

    z-index:3;
}


/* v29 : KAPSUL KACA, sama seperti eyebrow di hero section.
   Garis kiri-kanan dihapus. */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 .cta-title{

    position:relative;

    z-index:3;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 .cta-title .elementor-heading-title{

    text-shadow:0 6px 30px rgba(4,30,51,.45);

    text-wrap:balance;
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis:
   Ready for Your <span>Bali Adventure?</span> */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-text{

    position:relative;

    z-index:3;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-text){

    max-width:660px;

    margin-inline:auto;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-text .elementor-widget-container),
.elementor-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 .cta-features{

    position:relative;

    z-index:3;
}


/* ============================================================
   ============================================================
   09. KARTU FITUR  —  .cta-feature

   v28 : latar kartu dibuat LEBIH TERANG dari panel,
   bukan transparan blur. Kontras jadi jelas dan
   teks terbaca penuh.
   ============================================================
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature){

    padding:26px 24px 28px;

    border:1px solid transparent;

    border-radius:var(--cta-card-radius);

    /* border gradasi, isi solid terang */
    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;
}


/* garis aksen di sisi atas kartu */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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;
}


/* spotlight cahaya saat hover */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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

   v28 : ikon dipindah ke SAMPING KIRI judul,
   bukan di atas dan di tengah. Lebih rapi, lebih
   mudah dibaca, dan tidak membuat kartu terlalu tinggi.
   ============================================================
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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;
}


/* --------- IKON --------- */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-icon{

    grid-column:1;

    grid-row:1 / 3;

    margin:0!important;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 .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;
}


/* tile ikon — bisa ditimpa panel Style > Icon */

.elementor-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon svg){

    width:23px;

    height:23px;

    fill:currentColor;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon i){

    font-size:23px;

    color:#FFFFFF;
}


/* --------- JUDUL ICON BOX --------- */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-content{

    display:contents;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-title{

    grid-column:2;

    grid-row:1;

    margin:0!important;

    transition:color .35s ease;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-title),
.elementor-2166 .elementor-element.elementor-element-d87a960 :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);
}


/* --------- DESKRIPSI ICON BOX --------- */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-description{

    grid-column:2;

    grid-row:2;

    margin:0!important;
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-feature:hover::before{

        opacity:1;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature:hover::after{

        width:calc(100% - 48px);

        box-shadow:0 2px 14px rgba(77,192,255,.45);
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-feature:hover .elementor-icon-box-title{

        color:var(--cta-sky-light);
    }

}


/* ============================================================
   12. WADAH TOMBOL  —  .cta-actions
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-actions{

    position:relative;

    z-index:3;
}


/* garis tipis di atas area tombol */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .elementor-button-icon{

    transition:transform .40s var(--cta-ease);
}


/* ============================================================
   14. TOMBOL UTAMA  —  .cta-btn-primary
   Solid gradasi
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-primary .elementor-button-text){

    font-family:var(--cta-font-body);

    font-size:15px;

    font-weight:600;

    letter-spacing:.015em;
}


/* kilau melintas */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-btn-primary .elementor-button:hover::before{

        left:160%;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-primary .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* ============================================================
   15. TOMBOL KEDUA  —  .cta-btn-secondary

   v28 : GHOST OUTLINE, benar-benar beda dari tombol utama.
   Saat hover baru terisi biru.
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}


.elementor-2166 .elementor-element.elementor-element-d87a960 :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-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-secondary .elementor-button-text){

    font-family:var(--cta-font-body);

    font-size:15px;

    font-weight:600;

    letter-spacing:.015em;
}


/* lapisan isi yang melebar dari kiri saat hover */

.elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button:hover::before{

        transform:scaleX(1);
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* ============================================================
   16. ANIMASI MASUK SAAT DI-SCROLL
============================================================ */

@supports (animation-timeline: view()){

    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-features{

        animation:ctaRise linear both;

        animation-timeline:view();

        animation-range:entry 2% entry 40%;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960{

        --cta-panel-radius:120px 120px 22px 22px;

        --cta-card-radius:18px 4px 18px 18px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-shell){

        padding:40px 30px 44px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature){

        padding:22px 20px 24px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:50px minmax(0,1fr);

        column-gap:14px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon){

        width:50px;

        height:50px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-title),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-title a){

        font-size:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-primary .elementor-button),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-secondary .elementor-button){

        padding:15px 26px;

        min-height:51px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960::after{

        left:8px;

        bottom:-16px;

        font-size:clamp(60px,14vw,124px);
    }

}


/* ============================================================
   18. MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-2166 .elementor-element.elementor-element-d87a960{

        --cta-panel-radius:84px 84px 18px 18px;

        --cta-card-radius:16px 4px 16px 16px;

        --cta-btn-radius:13px 4px 13px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-shell){

        padding:34px 18px 36px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-shell::after{

        top:12px;

        width:22px;
        height:22px;

        border-radius:6px;
    }


    /* EYEBROW */

    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-eyebrow .elementor-heading-title{

        padding:7px 13px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.17em;
    }


    /* JUDUL */

    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-title .elementor-heading-title){

        font-size:clamp(27px,8.2vw,36px);

        line-height:1.12;
    }


    /* TEKS */

    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-text .elementor-widget-container),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-text p){

        font-size:15px;

        line-height:1.72;
    }


    /* KARTU FITUR */

    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature){

        padding:19px 17px 21px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature::after{

        left:17px;

        width:32px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:48px minmax(0,1fr);

        column-gap:13px;

        row-gap:5px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon){

        width:48px;

        height:48px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon svg){

        width:21px;

        height:21px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-title),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-title a){

        font-size:19px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon-box-description){

        font-size:14.5px;

        line-height:1.64;
    }


    /* TOMBOL — lebar penuh */

    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-actions::before{

        top:-15px;

        width:min(220px,80%);
    }


    /* v29 : tombol BERDAMPINGAN kiri-kanan, tidak menumpuk */

    .elementor-2166 .elementor-element.elementor-element-d87a960 .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-2166 .elementor-element.elementor-element-d87a960 .cta-actions > .elementor-element,
    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-primary,
    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary{

        flex:1 1 0!important;

        width:auto!important;

        min-width:0!important;

        max-width:none!important;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-primary .elementor-button,
    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button{

        width:100%;

        gap:7px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-primary .elementor-button),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-secondary .elementor-button){

        padding:14px 12px;

        min-height:52px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-primary .elementor-button-text),
    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-btn-secondary .elementor-button-text){

        font-size:13.5px;

        letter-spacing:.01em;

        white-space:nowrap;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-primary .elementor-button-icon svg,
    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button-icon svg{

        width:15px;

        height:15px;
    }


    /* tombol ghost langsung terisi di layar sentuh */

    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-btn-secondary .elementor-button::before{

        transform:scaleX(1);
    }


    /* WATERMARK */

    .elementor-2166 .elementor-element.elementor-element-d87a960::after{

        left:4px;

        bottom:-8px;

        font-size:clamp(52px,19vw,92px);

        opacity:.50;
    }


    /* hover dimatikan */

    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature:hover{

        transform:none;
    }

}


/* ============================================================
   19. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-2166 .elementor-element.elementor-element-d87a960{

        --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-2166 .elementor-element.elementor-element-d87a960 :where(.cta-shell){

        padding:30px 15px 32px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-title .elementor-heading-title){

        font-size:clamp(25px,7.8vw,32px);
    }

}


/* ============================================================
   20. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-title .elementor-heading-title){

        font-size:24px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:42px minmax(0,1fr);

        column-gap:11px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon){

        width:42px;

        height:42px;
    }


    .elementor-2166 .elementor-element.elementor-element-d87a960 :where(.cta-feature .elementor-icon svg){

        width:18px;

        height:18px;
    }

}


/* ============================================================
   21. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-2166 .elementor-element.elementor-element-d87a960 a,
    .elementor-2166 .elementor-element.elementor-element-d87a960 button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   22. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-2166 .elementor-element.elementor-element-d87a960 *,
    .elementor-2166 .elementor-element.elementor-element-d87a960 *::before,
    .elementor-2166 .elementor-element.elementor-element-d87a960 *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   23. FOKUS KEYBOARD
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 a:focus-visible,
.elementor-2166 .elementor-element.elementor-element-d87a960 button:focus-visible,
.elementor-2166 .elementor-element.elementor-element-d87a960 .elementor-button:focus-visible{

    outline:2px solid var(--cta-sky);

    outline-offset:4px;

    border-radius:10px;
}


/* ============================================================
   24. TEXT SELECTION
============================================================ */

.elementor-2166 .elementor-element.elementor-element-d87a960 ::selection{

    background:var(--cta-sky);

    color:var(--cta-navy-dark);
}


/* ============================================================
   ============================================================
   TABEL CLASS  (sama seperti V27, tidak berubah)

   Container (paling luar)   -> tempat CSS ini ditempel
     Container               -> cta-shell
       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 HARUS DIRAPIKAN DI PANEL ELEMENTOR
   ---------------------------------------------------------
   1. Container terluar
      Style > Background : KOSONGKAN gambar.
      CSS sudah mematikannya, tapi lebih rapi kalau
      dihapus juga dari panel.
      Advanced > Padding : atas & bawah 70-100px.

   2. cta-shell
      Content Width = Boxed, 1080-1200px
      Align Items = Center
      Gap = 16px
      Advanced > Padding : KOSONGKAN (CSS yang mengatur)

   3. cta-features
      Direction = Row, Wrap = Wrap, Gap = 16px
      Tiap cta-feature : Width 48% (desktop), 100% (mobile)
      Advanced > Padding : KOSONGKAN

   4. Widget Icon Box
      Content > Position : biarkan apa pun,
      CSS mengatur ulang jadi ikon di samping kiri.
      Style > Icon > Primary Color : transparent
      Style > Icon > Border Type : None
      Agar tidak dobel dengan tile gradasi dari CSS.

   5. cta-actions
      Direction = Row, Justify = Center, Gap = 14px

   6. Widget Button
      Style > Background & Border : KOSONGKAN


   ---------------------------------------------------------
   KALAU TETAP INGIN MEMAKAI FOTO LATAR
   ---------------------------------------------------------
   Hapus baris ini di blok 01:

       background-image:none!important;

   dan ganti seluruh nilai background di blok 01 menjadi:

       background:
           linear-gradient(
               160deg,
               rgba(4,30,51,.90),
               rgba(6,58,94,.84)
           )!important;

   Tapi saya sarankan tetap tanpa foto. Panel navy di
   atas latar terang membuat section ini jadi penutup
   yang tegas, dan kartu ikonnya terbaca jauh lebih jelas.


   ---------------------------------------------------------
   JUDUL BERGRADASI
   ---------------------------------------------------------
   Di editor Heading cta-title tulis:

       Ready for Your <span>Bali Adventure?</span>


   ---------------------------------------------------------
   CARA MENGEDIT
   ---------------------------------------------------------
   Font, ukuran, weight, warna teks : Style > Typography
   Warna global                     : blok 01
   Kata watermark                   : --cta-watermark
   Lengkungan panel                 : --cta-panel-radius
   Sudut kartu                      : --cta-card-radius
   ============================================================
   ============================================================ *//* End custom CSS */