.elementor-338 .elementor-element.elementor-element-857c8f8{--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-338 .elementor-element.elementor-element-857c8f8:not(.elementor-motion-effects-element-type-background), .elementor-338 .elementor-element.elementor-element-857c8f8 > .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-338 .elementor-element.elementor-element-857c8f8::before, .elementor-338 .elementor-element.elementor-element-857c8f8 > .elementor-background-video-container::before, .elementor-338 .elementor-element.elementor-element-857c8f8 > .e-con-inner > .elementor-background-video-container::before, .elementor-338 .elementor-element.elementor-element-857c8f8 > .elementor-background-slideshow::before, .elementor-338 .elementor-element.elementor-element-857c8f8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-338 .elementor-element.elementor-element-857c8f8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-338 .elementor-element.elementor-element-69377b8{--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-338 .elementor-element.elementor-element-2731ff9{--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-338 .elementor-element.elementor-element-7e0e280{--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-338 .elementor-element.elementor-element-7e0e280.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-338 .elementor-element.elementor-element-8559a39 .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-338 .elementor-element.elementor-element-0c92322{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-338 .elementor-element.elementor-element-0c92322 .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-338 .elementor-element.elementor-element-d6ee092{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;line-height:1.65em;color:#F7F1E7;}.elementor-338 .elementor-element.elementor-element-a82fc28{--display:flex;--min-height:414px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-338 .elementor-element.elementor-element-a82fc28:not(.elementor-motion-effects-element-type-background), .elementor-338 .elementor-element.elementor-element-a82fc28 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF8EC;}.elementor-338 .elementor-element.elementor-element-4b454fc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-338 .elementor-element.elementor-element-f1a098c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-338 .elementor-element.elementor-element-aab1508 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-338 .elementor-element.elementor-element-81c5898{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-338 .elementor-element.elementor-element-2269c9d .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-338 .elementor-element.elementor-element-2269c9d .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-338 .elementor-element.elementor-element-2269c9d{--image-border-color:#FFF8EC;--image-border-width:0px;--image-border-radius:20px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-338 .elementor-element.elementor-element-41441fa{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-338 .elementor-element.elementor-element-c2d34eb{--display:flex;--min-height:480px;--justify-content:center;--overlay-opacity:0.26;--border-radius:15px 15px 15px 15px;}.elementor-338 .elementor-element.elementor-element-c2d34eb:not(.elementor-motion-effects-element-type-background), .elementor-338 .elementor-element.elementor-element-c2d34eb > .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-338 .elementor-element.elementor-element-c2d34eb::before, .elementor-338 .elementor-element.elementor-element-c2d34eb > .elementor-background-video-container::before, .elementor-338 .elementor-element.elementor-element-c2d34eb > .e-con-inner > .elementor-background-video-container::before, .elementor-338 .elementor-element.elementor-element-c2d34eb > .elementor-background-slideshow::before, .elementor-338 .elementor-element.elementor-element-c2d34eb > .e-con-inner > .elementor-background-slideshow::before, .elementor-338 .elementor-element.elementor-element-c2d34eb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#252525;--background-overlay:'';}.elementor-338 .elementor-element.elementor-element-2e33ddd{text-align:center;}.elementor-338 .elementor-element.elementor-element-2e33ddd .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:700;line-height:1.08em;color:#FFFFFF;}.elementor-338 .elementor-element.elementor-element-b176a26{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-338 .elementor-element.elementor-element-b176a26.elementor-element{--align-self:flex-start;}.elementor-338 .elementor-element.elementor-element-b176a26 .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-338 .elementor-element.elementor-element-2e54d7d{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-338 .elementor-element.elementor-element-2e54d7d.elementor-element{--align-self:center;}.elementor-338 .elementor-element.elementor-element-a5637d6{--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-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-338 .elementor-element.elementor-element-7f57036 .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-338 .elementor-element.elementor-element-7f57036 .elementor-button:hover, .elementor-338 .elementor-element.elementor-element-7f57036 .elementor-button:focus{background-color:#FFFFFF;}.elementor-338 .elementor-element.elementor-element-7f57036{width:var( --container-widget-width, 24% );max-width:24%;--container-widget-width:24%;--container-widget-flex-grow:0;}.elementor-338 .elementor-element.elementor-element-7f57036.elementor-element{--align-self:center;}.elementor-338 .elementor-element.elementor-element-7f57036 .elementor-button-content-wrapper{flex-direction:row-reverse;}body.elementor-page-338:not(.elementor-motion-effects-element-type-background), body.elementor-page-338 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-338 .elementor-element.elementor-element-857c8f8{--width:100%;}.elementor-338 .elementor-element.elementor-element-2731ff9{--content-width:100%;}.elementor-338 .elementor-element.elementor-element-7e0e280{--width:87.366%;}}@media(max-width:1024px) and (min-width:768px){.elementor-338 .elementor-element.elementor-element-7e0e280{--width:72%;}}@media(min-width:1025px){.elementor-338 .elementor-element.elementor-element-857c8f8:not(.elementor-motion-effects-element-type-background), .elementor-338 .elementor-element.elementor-element-857c8f8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-338 .elementor-element.elementor-element-857c8f8{--min-height:349px;--padding-top:82px;--padding-bottom:68px;--padding-left:30px;--padding-right:30px;}.elementor-338 .elementor-element.elementor-element-2731ff9{--padding-top:0px;--padding-bottom:0px;--padding-left:22px;--padding-right:22px;}.elementor-338 .elementor-element.elementor-element-8559a39 .elementor-heading-title{font-size:18px;}.elementor-338 .elementor-element.elementor-element-0c92322 .elementor-heading-title{font-size:50px;}.elementor-338 .elementor-element.elementor-element-d6ee092{font-size:14px;}.elementor-338 .elementor-element.elementor-element-2e33ddd .elementor-heading-title{font-size:18px;}}@media(max-width:767px){.elementor-338 .elementor-element.elementor-element-857c8f8{--padding-top:62px;--padding-bottom:58px;--padding-left:18px;--padding-right:18px;}.elementor-338 .elementor-element.elementor-element-69377b8{--padding-top:70px;--padding-bottom:36px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-2731ff9{--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-338 .elementor-element.elementor-element-7e0e280{--width:100%;}.elementor-338 .elementor-element.elementor-element-8559a39 .elementor-heading-title{font-size:14px;}.elementor-338 .elementor-element.elementor-element-0c92322 .elementor-heading-title{font-size:42px;}.elementor-338 .elementor-element.elementor-element-d6ee092{font-size:14px;}.elementor-338 .elementor-element.elementor-element-aab1508 .elementor-heading-title{font-size:40px;}.elementor-338 .elementor-element.elementor-element-81c5898{margin:-35px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-338 .elementor-element.elementor-element-c2d34eb{--min-height:310px;}.elementor-338 .elementor-element.elementor-element-2e33ddd .elementor-heading-title{font-size:14px;}.elementor-338 .elementor-element.elementor-element-b176a26 .elementor-heading-title{font-size:40px;}.elementor-338 .elementor-element.elementor-element-2e54d7d{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:14px;}.elementor-338 .elementor-element.elementor-element-7f57036{--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-69377b8 *//* ============================================================
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-338 .elementor-element.elementor-element-69377b8{
  --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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__photo-main,
.elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__photo-top,
.elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass-text{
  width:100%;
  margin-top:5px;
}


.elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass-text,
.elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass-text .elementor-widget-container,
.elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass:hover::before{
  width:58px;
}


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

@media(max-width:1024px){

  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right{
    min-height:
      640px!important;
  }


  .elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right{
    min-height:
      510px!important;
  }


  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right::before{
    top:4%;
    left:8%;

    width:78%;
    height:92%;
  }


  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right::after{
    top:16%;
    left:22%;

    width:57%;
    height:64%;
  }


  .elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass .elementor-heading-title{
    font-size:
      14px!important;

    line-height:
      1.12!important;
  }


  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__glass-text,
  .elementor-338 .elementor-element.elementor-element-69377b8 .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-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right *,
  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right *::before,
  .elementor-338 .elementor-element.elementor-element-69377b8 .coastal-hero-collage__right *::after{
    animation:none!important;
    transition:none!important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-857c8f8 *//* ============================================================
   ============================================================
   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-338 .elementor-element.elementor-element-857c8f8{

    /* 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-338 .elementor-element.elementor-element-857c8f8 *,
.elementor-338 .elementor-element.elementor-element-857c8f8 *::before,
.elementor-338 .elementor-element.elementor-element-857c8f8 *::after{
    box-sizing:border-box;
}


/* ============================================================
   02. HERO WRAPPER

   Foto latar TETAP dari panel Elementor.
   CSS hanya menambah overlay dan dekorasi cahaya.
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-shell{

    position:relative;

    z-index:4;
}


.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy{

    position:relative;

    z-index:5;
}


.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy::after{

    content:none!important;

    display:none!important;
}


/* ============================================================
   07. EYEBROW — kapsul bulat, sama seperti hero home
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-eyebrow::before{

    content:none!important;

    display:none!important;
}


/* TIPOGRAFI eyebrow — spesifisitas nol */

.elementor-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-eyebrow .elementor-heading-title{

    text-shadow:0 0 18px rgba(77,192,255,.30);
}


/* ============================================================
   08. HERO TITLE
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-title-accent{

    position:relative;

    width:max-content;

    max-width:100%;
}


.elementor-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero:hover .pt-hero-title-accent::after{

    width:138px;
}


/* ============================================================
   10. HERO DESCRIPTION
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-text{

    max-width:620px;
}


.elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-text .elementor-widget-container),
.elementor-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .pt-hero-text p{

    text-shadow:0 2px 14px rgba(4,30,51,.35);
}


/* ============================================================
   11. GLOBAL BUTTON MOTION
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-primary-btn .elementor-button:hover::before{

        left:138%;
    }

}


/* ============================================================
   13. SECONDARY CTA
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 :where(.pt-text-link .elementor-button){

    color:var(--pt-gold);
}


@media(hover:hover) and (pointer:fine){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-text-link .elementor-button:hover{

        color:var(--pt-gold-light)!important;

        transform:translateX(4px);
    }

}


/* ============================================================
   15. TRUST GRID  (kalau halaman memakainya)
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust > .elementor-element{

    min-width:0!important;

    max-width:none!important;

    margin:0!important;
}


.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 :where(.pt-mini-trust .elementor-icon){

    color:var(--pt-gold);
}


.elementor-338 .elementor-element.elementor-element-857c8f8 :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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust:hover::after{

        width:calc(100% - 32px);

        box-shadow:0 2px 14px rgba(77,192,255,.36);
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust:hover .elementor-icon{

        transform:scale(1.08);
    }

}


/* ============================================================
   16. DESKTOP > 1025
============================================================ */

@media(min-width:1025px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy{

        max-width:760px;
    }

}


/* ============================================================
   17. LAPTOP  1025 - 1280
============================================================ */

@media(min-width:1025px) and (max-width:1280px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero{

        min-height:clamp(330px,32vw,420px);
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy::before{

        left:-20px;

        height:114px;
    }

}


/* ============================================================
   18. TABLET  768 - 1024
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero{

        min-height:clamp(300px,40vw,400px);
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy{

        width:88%!important;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy::before{

        left:-16px;

        height:104px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-shell::before{

        right:-60px;

        top:-84px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-trust{

        grid-template-columns:repeat(2,minmax(0,1fr))!important;

        gap:12px!important;
    }

}


/* ============================================================
   19. MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero{

        min-height:clamp(260px,62vw,340px);
    }


    /* overlay dipertegas agar teks terbaca */

    .elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 .pt-hero::after{

        height:110px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy{

        width:100%!important;
    }


    /* rail dipendekkan, tetap di sisi kiri */

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy::before{

        left:-9px;

        top:4px;

        width:2px;

        height:78px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-eyebrow{

        padding:6px 11px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.16em;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-title .elementor-heading-title){

        font-size:clamp(30px,9vw,40px);

        line-height:1.08;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-title-accent::after{

        width:64px;

        margin-top:9px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero:hover .pt-hero-title-accent::after{

        width:92px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-text .elementor-widget-container),
    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-text p){

        font-size:15px;

        line-height:1.70;
    }


    /* glow dikecilkan */

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-shell::before{

        right:auto;

        left:35%;

        top:-60px;

        width:250px;
        height:250px;

        opacity:.75;
    }


    /* tombol full-width */

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-primary-btn .elementor-button,
    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-secondary .elementor-button{

        width:100%;

        min-height:50px;

        display:flex;

        align-items:center;

        justify-content:center;
    }


    /* trust 2 kolom */

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-trust{

        grid-template-columns:repeat(2,minmax(0,1fr))!important;

        gap:10px!important;

        margin-top:6px;

        padding-top:15px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust{

        min-height:62px!important;

        grid-template-columns:22px minmax(0,1fr)!important;

        column-gap:9px!important;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-mini-trust){

        padding:11px 12px;

        border-radius:12px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust > .elementor-widget-icon{

        --width:22px!important;

        width:22px!important;

        min-width:22px!important;

        max-width:22px!important;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust .elementor-icon{

        width:22px;
        height:22px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-mini-trust::after{

        left:12px;

        width:28px;
    }

}


/* ============================================================
   20. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero{

        padding-left:max(16px,env(safe-area-inset-left));

        padding-right:max(16px,env(safe-area-inset-right));
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-title .elementor-heading-title){

        font-size:clamp(27px,8.6vw,35px);
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-copy::before{

        height:66px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero-trust{

        grid-template-columns:1fr!important;
    }

}


/* ============================================================
   21. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero{

        min-height:240px;
    }


    .elementor-338 .elementor-element.elementor-element-857c8f8 :where(.pt-hero-title .elementor-heading-title){

        font-size:26px;
    }

}


/* ============================================================
   22. iOS SAFETY
============================================================ */

@supports (-webkit-touch-callout:none){

    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero,
    .elementor-338 .elementor-element.elementor-element-857c8f8 .pt-hero *{

        -webkit-text-size-adjust:100%;
    }

}


/* ============================================================
   23. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-338 .elementor-element.elementor-element-857c8f8 a,
    .elementor-338 .elementor-element.elementor-element-857c8f8 button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   24. FOKUS KEYBOARD
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 a:focus-visible,
.elementor-338 .elementor-element.elementor-element-857c8f8 button:focus-visible,
.elementor-338 .elementor-element.elementor-element-857c8f8 .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-338 .elementor-element.elementor-element-857c8f8 *,
    .elementor-338 .elementor-element.elementor-element-857c8f8 *::before,
    .elementor-338 .elementor-element.elementor-element-857c8f8 *::after{

        animation:none!important;

        transition:none!important;
    }

}


/* ============================================================
   26. TEXT SELECTION
============================================================ */

.elementor-338 .elementor-element.elementor-element-857c8f8 ::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 container, class: .elementor-element-a82fc28 *//* =========================================================
   =========================================================
   KAK LUNA BALI TRANS
   GALLERY GRID SECTION — "AZURE MOMENTS" V3

   DIPASANG DI:
   Container PALING LUAR section gallery
   Advanced > Custom CSS

   ---------------------------------------------------------
   CLASS YANG HARUS DIPASANG  (struktur terbaru)
   ---------------------------------------------------------
   Container (PALING LUAR)     -> tempat CSS ini ditempel
     Container (pembungkus)    -> gal2-shell
       GALLERY HEADER          -> gal2-header
         GALLERY HEADER LEFT   -> gal2-header-left
           Heading (eyebrow)   -> gal2-eyebrow
           Heading (judul)     -> gal2-title
         Text Editor           -> gal2-intro
       Gallery (widget)        -> gal2-grid

   CATATAN PENTING
   CSS ini HARUS ditempel di Container PALING LUAR,
   bukan di Container pembungkus.

   ---------------------------------------------------------
   PERBAIKAN V3 — HEADER KIRI & KANAN TIDAK LURUS
   ---------------------------------------------------------
   1. Intro jatuh ke bawah (flex-end), tidak sejajar
      dengan judul. Sekarang header dikunci sejajar
      TENGAH di tablet & desktop.
   2. Blok kiri menjorok karena padding bawaan container
      Elementor. Padding gal2-header-left dinolkan.
   3. Garis aksen header muncul di pojok kiri ATAS karena
      Elementor memberi top:0 pada ::before container.
      Sekarang dipaksa top:auto sehingga kembali ke
      garis bawah header.
   Baris yang diubah ditandai dengan tulisan V3

   Judul mobile tetap 40px (blok 12 & 13).

   TIPOGRAFI
   Font desktop memakai selektor ringan sehingga panel
   Elementor (Style > Typography) tetap bisa mengubahnya.
   ========================================================= */


/* =========================================================
   01. PUSAT KENDALI — UBAH SEMUA DI SINI
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28{

    --g2-sky:#4DC0FF;
    --g2-sky-light:#8BD8FF;
    --g2-azure:#1E8FD6;
    --g2-ocean:#0A5C8F;
    --g2-navy:#063A5E;
    --g2-navy-dark:#041E33;

    --g2-bg-top:#F8FCFF;
    --g2-bg-mid:#F1F8FD;
    --g2-bg-bottom:#EAF4FC;

    --g2-white:#FFFFFF;
    --g2-mist:#D7ECF9;

    --g2-text:#10222F;
    --g2-muted:rgba(16,34,47,.72);
    --g2-soft:rgba(16,34,47,.56);

    --g2-line:rgba(30,143,214,.20);

    --g2-font-display:"DM Serif Display",Georgia,serif;
    --g2-font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;

    /* sudut foto — tajam di satu sisi */
    --g2-item-radius:18px 4px 18px 18px;

    /* kata watermark — ubah di sini */
    --g2-watermark:"MOMENTS";

    /* V3 : ukuran judul di mobile — ubah di sini */
    --g2-title-mobile:40px;

    /* V3 : posisi header kiri-kanan
       center = sejajar tengah
       flex-end = sejajar bawah
       flex-start = sejajar atas */
    --g2-header-align:center;

    --g2-ease:cubic-bezier(.22,.72,.2,1);


    /* ---------- SECTION ---------- */

    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:var(--g2-text);
    font-family:var(--g2-font-body);

    background:
        radial-gradient(circle at 8% 10%, rgba(77,192,255,.14), transparent 26%),
        radial-gradient(circle at 92% 16%, rgba(30,143,214,.10), transparent 30%),
        radial-gradient(circle at 86% 92%, rgba(139,216,255,.18), transparent 34%),
        linear-gradient(180deg, var(--g2-bg-top) 0%, var(--g2-bg-mid) 54%, var(--g2-bg-bottom) 100%) !important;
}


.elementor-338 .elementor-element.elementor-element-a82fc28 *,
.elementor-338 .elementor-element.elementor-element-a82fc28 *::before,
.elementor-338 .elementor-element.elementor-element-a82fc28 *::after{
    box-sizing:border-box;
}


/* ---------------------------------------------------------
   02. TEKSTUR GRID HALUS
   --------------------------------------------------------- */

.elementor-338 .elementor-element.elementor-element-a82fc28::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.42;

    background-image:
        linear-gradient(rgba(30,143,214,.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30,143,214,.030) 1px, transparent 1px);

    background-size:52px 52px;

    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}


/* ---------------------------------------------------------
   03. WATERMARK OUTLINE
   Ubah katanya lewat --g2-watermark di blok 01
   --------------------------------------------------------- */

.elementor-338 .elementor-element.elementor-element-a82fc28::after{
    content:var(--g2-watermark);
    position:absolute;
    left:10px;
    bottom:-24px;
    z-index:0;
    pointer-events:none;
    user-select:none;
    white-space:nowrap;
    color:transparent;
    font-family:var(--g2-font-display);
    font-size:clamp(66px,11vw,168px);
    line-height:.8;
    letter-spacing:-.05em;
    -webkit-text-stroke:1px rgba(30,143,214,.13);
    opacity:.72;
}


/* =========================================================
   04a. SHELL  —  .gal2-shell
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-shell{
    position:relative;
    z-index:3;
}


/* =========================================================
   04b. HEADER  —  .gal2-header
   Judul di kiri, teks pengantar di kanan
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header{
    position:relative;
    z-index:3;
    padding-bottom:clamp(26px,3vw,40px);
    border-bottom:1px solid var(--g2-line);
}


/* V3 : kiri & kanan sejajar — tablet & desktop */

@media(min-width:768px){

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header{
        align-items:var(--g2-header-align) !important;
    }

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header > .gal2-header-left,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header > .gal2-intro{
        align-self:var(--g2-header-align) !important;
    }

}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header-left{
    position:relative;
    z-index:3;

    /* V3 : padding bawaan container dinolkan,
       eyebrow & judul lurus dengan garis header */
    padding:0 !important;
}


/* garis aksen kecil di atas garis bawah header */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header::before{
    content:"";
    position:absolute;

    /* V3 : top:auto menimpa top:0 dari Elementor */
    top:auto !important;
    left:0 !important;
    bottom:-1px !important;

    width:72px !important;
    height:2px !important;

    border-radius:999px;
    background:linear-gradient(90deg, var(--g2-sky), rgba(77,192,255,.14));
    box-shadow:0 2px 10px rgba(77,192,255,.30);
    transition:width .6s var(--g2-ease);
}


@media(hover:hover) and (pointer:fine){
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header:hover::before{
        width:150px !important;
    }
}


/* =========================================================
   05. EYEBROW  —  .gal2-eyebrow
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:0;
    text-transform:uppercase;
}


/* tipografi ringan — panel tetap menang */

.elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-eyebrow .elementor-heading-title){
    font-family:var(--g2-font-body);
    font-size:12px;
    font-weight:600;
    letter-spacing:.20em;
    color:var(--g2-azure);
}


/* dua garis kecil mengapit teks */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title::before,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title::after{
    content:"";
    width:30px;
    height:2px;
    flex-shrink:0;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(77,192,255,.10), var(--g2-sky));
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title::after{
    background:linear-gradient(90deg, var(--g2-sky), rgba(77,192,255,.10));
}


/* =========================================================
   06. JUDUL  —  .gal2-title
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title{
    position:relative;
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title .elementor-heading-title{
    margin:0;
    text-wrap:balance;
}


/* tipografi desktop — panel tetap menang */

.elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-title .elementor-heading-title){
    font-family:var(--g2-font-display);
    font-weight:400;
    font-size:clamp(34px,4.2vw,60px);
    line-height:1.06;
    letter-spacing:-.022em;
    color:var(--g2-navy);
}


/* kata dalam <span> jadi gradasi biru.
   Di editor tulis:
   A few scenes <span>along the way.</span> */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title .elementor-heading-title span{
    background:linear-gradient(122deg, var(--g2-sky) 0%, var(--g2-azure) 55%, var(--g2-ocean) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}


/* garis aksen di bawah judul */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title::after{
    content:"";
    display:block;
    width:64px;
    height:2px;

    /* rata kiri, mengikuti judul di kolom kiri */
    margin:16px 0 0;

    border-radius:999px;
    background:linear-gradient(90deg, var(--g2-sky), rgba(77,192,255,.34), transparent);
    box-shadow:0 2px 12px rgba(77,192,255,.30);
    transition:width .55s var(--g2-ease);
}


@media(hover:hover) and (pointer:fine){
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header:hover .gal2-title::after{
        width:128px;
    }
}


/* =========================================================
   07. INTRO  —  .gal2-intro
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-intro{
    position:relative;
    z-index:3;

    /* garis biru di sisi kiri */
    padding-left:20px;
    border-left:2px solid var(--g2-sky);

    /* V3 : margin bawaan widget dinolkan agar
       posisi tengahnya tepat */
    margin:0 !important;
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-intro .elementor-widget-container,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-intro p{
    margin:0;
}


.elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-intro .elementor-widget-container, .gal2-intro p){
    font-family:var(--g2-font-body);
    font-size:16px;
    font-weight:300;
    line-height:1.76;
    color:var(--g2-muted);
}


/* =========================================================
   =========================================================
   08. GALLERY  —  .gal2-grid
   Menyasar struktur widget Gallery bawaan Elementor.
   =========================================================
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid{
    position:relative;
    z-index:3;
    margin-top:clamp(26px,3vw,42px);
    counter-reset:g2;
}


/* jarak antar foto */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery__container,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-grid{
    gap:14px;
}


/* --------- TIAP FOTO --------- */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    counter-increment:g2;
    border:4px solid var(--g2-white);
    border-radius:var(--g2-item-radius);
    background:var(--g2-mist);
    box-shadow:
        0 14px 32px rgba(4,30,51,.10),
        0 0 0 1px rgba(77,192,255,.14);
    transition:
        transform .5s var(--g2-ease),
        box-shadow .5s var(--g2-ease),
        border-color .4s ease;
}


/* --------- GAMBAR DI DALAMNYA --------- */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-image,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item__image,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item img{
    border-radius:calc(var(--g2-item-radius) - 4px);
    transform:scale(1.01);
    transition:
        transform 1.1s var(--g2-ease),
        filter .7s ease;
}


/* --------- OVERLAY BIRU SAAT HOVER --------- */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item::before,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(160deg, rgba(77,192,255,.38) 0%, rgba(30,143,214,.30) 46%, rgba(4,30,51,.52) 100%);
    opacity:0;
    transition:opacity .45s ease;
}


/* --------- TANDA PLUS DI TENGAH --------- */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item::after,
.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item::after{
    content:"+";
    position:absolute;
    left:50%;
    top:50%;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    transform:translate(-50%,-50%) scale(.6) rotate(-90deg);
    border:1px solid rgba(255,255,255,.45);
    border-radius:14px 4px 14px 14px;
    background:rgba(255,255,255,.18);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    color:#FFFFFF;
    font-family:var(--g2-font-body);
    font-size:22px;
    font-weight:300;
    line-height:1;
    pointer-events:none;
    opacity:0;
    transition:
        opacity .42s ease,
        transform .55s var(--g2-ease);
}


/* --------- HOVER --------- */

@media(hover:hover) and (pointer:fine){

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item:hover{
        transform:translateY(-6px);
        border-color:var(--g2-white);
        box-shadow:
            0 26px 54px rgba(4,30,51,.20),
            0 0 0 1px rgba(77,192,255,.42);
    }

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover .e-gallery-image,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover img,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item:hover .elementor-gallery-item__image{
        transform:scale(1.08);
        filter:saturate(1.06) contrast(1.02);
    }

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover::before,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item:hover::before{
        opacity:1;
    }

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover::after,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item:hover::after{
        opacity:1;
        transform:translate(-50%,-50%) scale(1) rotate(0deg);
    }

}


/* --------- OVERLAY BAWAAN ELEMENTOR --------- */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item__overlay{
    z-index:4;
    border-radius:inherit;
    background:transparent !important;
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item__title{
    font-family:var(--g2-font-display);
    font-weight:400;
    font-size:19px;
    line-height:1.2;
    color:#FFFFFF;
    text-shadow:0 3px 14px rgba(4,30,51,.45);
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item__description{
    font-family:var(--g2-font-body);
    font-weight:300;
    font-size:13.5px;
    line-height:1.6;
    color:rgba(234,247,255,.85);
}


/* =========================================================
   09. FILTER / TAB GALERI  (kalau dipakai)
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-title{
    position:relative;
    padding:10px 20px !important;
    border:1px solid rgba(30,143,214,.22);
    border-radius:999px;
    background:rgba(255,255,255,.70);
    color:var(--g2-navy);
    font-family:var(--g2-font-body);
    font-size:14px;
    font-weight:500;
    transition:
        transform .38s var(--g2-ease),
        background .34s ease,
        border-color .34s ease,
        color .34s ease,
        box-shadow .38s var(--g2-ease);
}


.elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-title--active{
    border-color:rgba(255,255,255,.34);
    background:linear-gradient(138deg, var(--g2-sky), var(--g2-azure) 58%, var(--g2-ocean));
    color:#FFFFFF;
    box-shadow:0 10px 24px rgba(30,143,214,.32);
}


@media(hover:hover) and (pointer:fine){
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-title:hover{
        transform:translateY(-2px);
        border-color:rgba(77,192,255,.50);
        background:rgba(77,192,255,.12);
    }
}


/* =========================================================
   10. ANIMASI MASUK SAAT DI-SCROLL
   ========================================================= */

@supports (animation-timeline: view()){

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid{
        animation:g2Rise linear both;
        animation-timeline:view();
        animation-range:entry 2% entry 34%;
    }

}


@keyframes g2Rise{
    from{
        opacity:0;
        transform:translateY(24px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* =========================================================
   11. TABLET  (768 - 1024)
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

    .elementor-338 .elementor-element.elementor-element-a82fc28{
        --g2-item-radius:16px 4px 16px 16px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery__container,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-grid{
        gap:12px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item{
        border-width:3px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-title .elementor-heading-title){
        font-size:clamp(30px,5.4vw,44px);
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28::after{
        font-size:clamp(56px,13vw,116px);
        bottom:-18px;
    }

}


/* =========================================================
   12. MOBILE  (<= 767)
   ========================================================= */

@media(max-width:767px){

    .elementor-338 .elementor-element.elementor-element-a82fc28{
        --g2-item-radius:14px 4px 14px 14px;
    }


    /* HEADER */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header{
        padding-bottom:22px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-header::before{
        width:52px !important;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-intro{
        padding-left:15px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title{
        gap:9px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title::before,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-eyebrow .elementor-heading-title::after{
        width:18px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-eyebrow .elementor-heading-title){
        font-size:10.5px;
        letter-spacing:.17em;
    }


    /* judul mobile — ubah lewat --g2-title-mobile di blok 01 */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title .elementor-heading-title{
        font-size:var(--g2-title-mobile) !important;
        line-height:1.08 !important;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title::after{
        width:48px;
        margin-top:13px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 :where(.gal2-intro .elementor-widget-container, .gal2-intro p){
        font-size:15px;
        line-height:1.70;
    }


    /* GALERI */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery__container,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-grid{
        gap:10px;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item{
        border-width:3px;
    }


    /* tanda plus dikecilkan */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item::after,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item::after{
        width:38px;
        height:38px;
        font-size:19px;
        border-radius:12px 3px 12px 12px;
    }


    /* hover dimatikan di layar sentuh */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-item:hover,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-item:hover{
        transform:none;
    }


    /* FILTER */

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery-title{
        padding:8px 15px !important;
        font-size:13px;
    }


    /* WATERMARK */

    .elementor-338 .elementor-element.elementor-element-a82fc28::after{
        left:4px;
        bottom:-8px;
        font-size:clamp(44px,17vw,80px);
        opacity:.48;
    }

}


/* =========================================================
   13. VERY SMALL MOBILE  (<= 400)
   ========================================================= */

@media(max-width:400px){

    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-title .elementor-heading-title{
        font-size:var(--g2-title-mobile) !important;
    }


    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .elementor-gallery__container,
    .elementor-338 .elementor-element.elementor-element-a82fc28 .gal2-grid .e-gallery-grid{
        gap:8px;
    }

}


/* =========================================================
   14. TOUCH DEVICE
   ========================================================= */

@media(hover:none) and (pointer:coarse){

    .elementor-338 .elementor-element.elementor-element-a82fc28 a,
    .elementor-338 .elementor-element.elementor-element-a82fc28 button{
        -webkit-tap-highlight-color:transparent;
    }

}


/* =========================================================
   15. FOKUS KEYBOARD
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 a:focus-visible,
.elementor-338 .elementor-element.elementor-element-a82fc28 button:focus-visible{
    outline:2px solid var(--g2-sky);
    outline-offset:4px;
    border-radius:10px;
}


/* =========================================================
   16. REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .elementor-338 .elementor-element.elementor-element-a82fc28 *,
    .elementor-338 .elementor-element.elementor-element-a82fc28 *::before,
    .elementor-338 .elementor-element.elementor-element-a82fc28 *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

}


/* =========================================================
   17. TEXT SELECTION
   ========================================================= */

.elementor-338 .elementor-element.elementor-element-a82fc28 ::selection{
    background:var(--g2-sky);
    color:var(--g2-navy-dark);
}


/* =========================================================
   =========================================================
   PENGATURAN DI PANEL ELEMENTOR

   1. Container terluar
      Style > Background : KOSONGKAN
      Advanced > Padding : 70-100px atas & bawah,
                           20-60px kiri & kanan

   2. gal2-shell
      Content Width = Boxed, 1240-1420px
      Advanced > Padding : KOSONGKAN

   3. gal2-header
      Layout > Direction : Row
      Layout > Justify   : Space Between
      Layout > Align     : bebas (dikunci CSS, lihat
                           --g2-header-align di blok 01)
      Layout > Gap       : 60px
      Advanced > Padding kiri & kanan : 0
      Di tab Mobile : Direction = Column, Gap = 16px

      gal2-header-left : Width 62%  (Mobile 100%)
      gal2-intro       : Width 34%  (Mobile 100%)
      Advanced > Align Self pada keduanya : KOSONGKAN

   4. Widget Gallery (gal2-grid)
      Content > Columns : 4 (desktop), 3 (tablet), 2 (mobile)
      Content > Image Ratio : 0.75 atau 1
      Content > Gap : KOSONGKAN
      Style > Image > Border Radius : KOSONGKAN
      Style > Overlay > Background : KOSONGKAN

   5. Kalau memakai Gallery Type "Multiple",
      filter/tab-nya otomatis ikut distyle oleh blok 09.


   ---------------------------------------------------------
   JUDUL BERGRADASI
   ---------------------------------------------------------
   Di editor Heading gal2-title tulis:

       A few scenes <span>along the way.</span>


   ---------------------------------------------------------
   SETELAH MENEMPEL CSS
   ---------------------------------------------------------
   Elementor > Tools > Regenerate CSS & Data
   lalu bersihkan cache plugin dan Cloudflare.


   ---------------------------------------------------------
   CARA MENGEDIT
   ---------------------------------------------------------
   Font & warna teks : Style > Typography pada tiap widget
   Warna global      : blok 01 di atas
   Kata watermark    : --g2-watermark
   Sudut foto        : --g2-item-radius
   Judul mobile      : --g2-title-mobile
   Posisi header     : --g2-header-align
   =========================================================
   ========================================================= *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-41441fa *//* ============================================================
   ============================================================
   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-338 .elementor-element.elementor-element-41441fa{

    --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-338 .elementor-element.elementor-element-41441fa *,
.elementor-338 .elementor-element.elementor-element-41441fa *::before,
.elementor-338 .elementor-element.elementor-element-41441fa *::after{
    box-sizing:border-box;
}


/* ------------------------------------------------------------
   02. TEKSTUR GRID HALUS
   Sama seperti Why Choose Us & Gallery
------------------------------------------------------------ */

.elementor-338 .elementor-element.elementor-element-41441fa::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-338 .elementor-element.elementor-element-41441fa::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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-eyebrow{

    position:relative;

    z-index:3;
}


/* v29 : KAPSUL KACA, sama seperti eyebrow di hero section.
   Garis kiri-kanan dihapus. */

.elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .cta-title{

    position:relative;

    z-index:3;
}


.elementor-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-text{

    position:relative;

    z-index:3;
}


.elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-text){

    max-width:660px;

    margin-inline:auto;
}


.elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-text .elementor-widget-container),
.elementor-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-icon{

    grid-column:1;

    grid-row:1 / 3;

    margin:0!important;
}


.elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon svg){

    width:23px;

    height:23px;

    fill:currentColor;
}


.elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon i){

    font-size:23px;

    color:#FFFFFF;
}


/* --------- JUDUL ICON BOX --------- */

.elementor-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-content{

    display:contents;
}


.elementor-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-title{

    grid-column:2;

    grid-row:1;

    margin:0!important;

    transition:color .35s ease;
}


.elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-title),
.elementor-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-description{

    grid-column:2;

    grid-row:2;

    margin:0!important;
}


.elementor-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-feature:hover::before{

        opacity:1;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature:hover::after{

        width:calc(100% - 48px);

        box-shadow:0 2px 14px rgba(77,192,255,.45);
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-feature:hover .elementor-icon-box-title{

        color:var(--cta-sky-light);
    }

}


/* ============================================================
   12. WADAH TOMBOL  —  .cta-actions
============================================================ */

.elementor-338 .elementor-element.elementor-element-41441fa .cta-actions{

    position:relative;

    z-index:3;
}


/* garis tipis di atas area tombol */

.elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .elementor-button-icon{

    transition:transform .40s var(--cta-ease);
}


/* ============================================================
   14. TOMBOL UTAMA  —  .cta-btn-primary
   Solid gradasi
============================================================ */

.elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-btn-primary .elementor-button:hover::before{

        left:160%;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button{

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}


.elementor-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa :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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button:hover::before{

        transform:scaleX(1);
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button:hover
    .elementor-button-icon{

        transform:translateX(5px);
    }

}


/* ============================================================
   16. ANIMASI MASUK SAAT DI-SCROLL
============================================================ */

@supports (animation-timeline: view()){

    .elementor-338 .elementor-element.elementor-element-41441fa .cta-features{

        animation:ctaRise linear both;

        animation-timeline:view();

        animation-range:entry 2% entry 40%;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa{

        --cta-panel-radius:120px 120px 22px 22px;

        --cta-card-radius:18px 4px 18px 18px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-shell){

        padding:40px 30px 44px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature){

        padding:22px 20px 24px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:50px minmax(0,1fr);

        column-gap:14px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon){

        width:50px;

        height:50px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-title),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-title a){

        font-size:21px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-primary .elementor-button),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-secondary .elementor-button){

        padding:15px 26px;

        min-height:51px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa::after{

        left:8px;

        bottom:-16px;

        font-size:clamp(60px,14vw,124px);
    }

}


/* ============================================================
   18. MOBILE  <= 767
============================================================ */

@media(max-width:767px){

    .elementor-338 .elementor-element.elementor-element-41441fa{

        --cta-panel-radius:84px 84px 18px 18px;

        --cta-card-radius:16px 4px 16px 16px;

        --cta-btn-radius:13px 4px 13px 13px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-shell){

        padding:34px 18px 36px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-shell::after{

        top:12px;

        width:22px;
        height:22px;

        border-radius:6px;
    }


    /* EYEBROW */

    .elementor-338 .elementor-element.elementor-element-41441fa .cta-eyebrow .elementor-heading-title{

        padding:7px 13px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-eyebrow .elementor-heading-title){

        font-size:10.5px;

        letter-spacing:.17em;
    }


    /* JUDUL */

    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-title .elementor-heading-title){

        font-size:clamp(27px,8.2vw,36px);

        line-height:1.12;
    }


    /* TEKS */

    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-text .elementor-widget-container),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-text p){

        font-size:15px;

        line-height:1.72;
    }


    /* KARTU FITUR */

    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature){

        padding:19px 17px 21px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature::after{

        left:17px;

        width:32px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:48px minmax(0,1fr);

        column-gap:13px;

        row-gap:5px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon){

        width:48px;

        height:48px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon svg){

        width:21px;

        height:21px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-title),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-title a){

        font-size:19px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon-box-description){

        font-size:14.5px;

        line-height:1.64;
    }


    /* TOMBOL — lebar penuh */

    .elementor-338 .elementor-element.elementor-element-41441fa .cta-actions::before{

        top:-15px;

        width:min(220px,80%);
    }


    /* v29 : tombol BERDAMPINGAN kiri-kanan, tidak menumpuk */

    .elementor-338 .elementor-element.elementor-element-41441fa .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-338 .elementor-element.elementor-element-41441fa .cta-actions > .elementor-element,
    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-primary,
    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary{

        flex:1 1 0!important;

        width:auto!important;

        min-width:0!important;

        max-width:none!important;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-primary .elementor-button,
    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button{

        width:100%;

        gap:7px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-primary .elementor-button),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-secondary .elementor-button){

        padding:14px 12px;

        min-height:52px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-primary .elementor-button-text),
    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-btn-secondary .elementor-button-text){

        font-size:13.5px;

        letter-spacing:.01em;

        white-space:nowrap;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-primary .elementor-button-icon svg,
    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button-icon svg{

        width:15px;

        height:15px;
    }


    /* tombol ghost langsung terisi di layar sentuh */

    .elementor-338 .elementor-element.elementor-element-41441fa .cta-btn-secondary .elementor-button::before{

        transform:scaleX(1);
    }


    /* WATERMARK */

    .elementor-338 .elementor-element.elementor-element-41441fa::after{

        left:4px;

        bottom:-8px;

        font-size:clamp(52px,19vw,92px);

        opacity:.50;
    }


    /* hover dimatikan */

    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature:hover{

        transform:none;
    }

}


/* ============================================================
   19. SMALL MOBILE  <= 480
============================================================ */

@media(max-width:480px){

    .elementor-338 .elementor-element.elementor-element-41441fa{

        --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-338 .elementor-element.elementor-element-41441fa :where(.cta-shell){

        padding:30px 15px 32px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-title .elementor-heading-title){

        font-size:clamp(25px,7.8vw,32px);
    }

}


/* ============================================================
   20. VERY SMALL MOBILE  <= 374
============================================================ */

@media(max-width:374px){

    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-title .elementor-heading-title){

        font-size:24px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa .cta-feature .elementor-icon-box-wrapper{

        grid-template-columns:42px minmax(0,1fr);

        column-gap:11px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon){

        width:42px;

        height:42px;
    }


    .elementor-338 .elementor-element.elementor-element-41441fa :where(.cta-feature .elementor-icon svg){

        width:18px;

        height:18px;
    }

}


/* ============================================================
   21. TOUCH DEVICE
============================================================ */

@media(hover:none) and (pointer:coarse){

    .elementor-338 .elementor-element.elementor-element-41441fa a,
    .elementor-338 .elementor-element.elementor-element-41441fa button{

        -webkit-tap-highlight-color:transparent;
    }

}


/* ============================================================
   22. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-338 .elementor-element.elementor-element-41441fa *,
    .elementor-338 .elementor-element.elementor-element-41441fa *::before,
    .elementor-338 .elementor-element.elementor-element-41441fa *::after{

        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;
    }

}


/* ============================================================
   23. FOKUS KEYBOARD
============================================================ */

.elementor-338 .elementor-element.elementor-element-41441fa a:focus-visible,
.elementor-338 .elementor-element.elementor-element-41441fa button:focus-visible,
.elementor-338 .elementor-element.elementor-element-41441fa .elementor-button:focus-visible{

    outline:2px solid var(--cta-sky);

    outline-offset:4px;

    border-radius:10px;
}


/* ============================================================
   24. TEXT SELECTION
============================================================ */

.elementor-338 .elementor-element.elementor-element-41441fa ::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 */