/* =========================================================
   KING ROYAL — COMBINED STYLESHEET
   Homepage V4/V5/V6 + Header
   ========================================================= */

/* =========================================================
   KING ROYAL HOMEPAGE V4
   Replace the previous v3 CSS with this file.
   Main goals:
   - every section uses the same centered container
   - section headings share the same vertical rhythm
   - no accidental Gutenberg/theme width drift
   - consistent cards and responsive behavior
   ========================================================= */

:root{
  --kr-navy:#0d2238;
  --kr-navy-2:#173b59;
  --kr-orange:#f47b3a;
  --kr-orange-hover:#dc672d;
  --kr-orange-soft:#fff5ee;

  --kr-white:#ffffff;
  --kr-warm:#faf9f7;
  --kr-surface:#ffffff;
  --kr-text:#182536;
  --kr-muted:#687382;
  --kr-border:#e7e9ec;

  --kr-container:1180px;
  --kr-side:24px;
  --kr-radius:18px;
  --kr-shadow:0 12px 34px rgba(13,34,56,.075);
}

.kr3-home,
.kr3-home *{
  box-sizing:border-box;
}

.kr3-home{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:hidden;
  background:#fff;
  color:var(--kr-text);
}

/* ---------------------------------------------------------
   GLOBAL TYPOGRAPHY
   --------------------------------------------------------- */

.kr3-home h1,
.kr3-home h2,
.kr3-home h3,
.kr3-home h4,
.kr3-home p{
  margin-top:0;
}

.kr3-home h1,
.kr3-home h2,
.kr3-home h3,
.kr3-home h4{
  color:var(--kr-text);
  letter-spacing:-.025em;
}

.kr3-home p,
.kr3-home li{
  color:var(--kr-text);
  line-height:1.72;
}

.kr3-home a{
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

/* ---------------------------------------------------------
   CRITICAL ALIGNMENT FIX
   Force EVERY wide section/container to the same center line.
   --------------------------------------------------------- */

.kr3-home .alignwide,
.kr3-home .wp-block-group.alignwide,
.kr3-home .wp-block-columns.alignwide,
.kr3-home .wp-block-cover.alignwide{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.kr3-home .alignfull{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Prevent Jadro/global block spacing from nudging sections sideways */
.kr3-home > *,
.kr3-home .wp-block-group,
.kr3-home .wp-block-columns{
  min-width:0;
}

.kr3-home .wp-block-columns{
  margin-left:0;
  margin-right:0;
}

/* ---------------------------------------------------------
   SECTION SYSTEM
   --------------------------------------------------------- */

.kr3-section{
  width:100%;
  padding:88px 0!important;
  margin:0!important;
}

.kr3-section-soft{
  background:var(--kr-warm)!important;
}

.kr3-section > .alignwide,
.kr3-section > .wp-block-group.alignwide{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  margin-inline:auto!important;
}

/*
 * A consistent heading block.
 * Existing markup has kicker -> title -> intro sequentially,
 * so these rules make them read as one visual group.
 */
.kr3-kicker{
  margin:0 0 10px!important;
  color:var(--kr-orange)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.kr3-section-title{
  max-width:820px;
  margin:0 0 14px!important;
  color:var(--kr-text)!important;
  font-size:clamp(34px,3.5vw,46px)!important;
  font-weight:800!important;
  line-height:1.14!important;
}

.kr3-section-intro{
  max-width:720px;
  margin:0 0 38px!important;
  color:var(--kr-muted)!important;
  font-size:16px!important;
  line-height:1.75!important;
}

/* The heading group always starts on the same left edge */
.kr3-section > .alignwide > .kr3-kicker,
.kr3-section > .alignwide > .kr3-section-title,
.kr3-section > .alignwide > .kr3-section-intro,
.kr3-section > .wp-block-group.alignwide > .kr3-kicker,
.kr3-section > .wp-block-group.alignwide > .kr3-section-title,
.kr3-section > .wp-block-group.alignwide > .kr3-section-intro{
  margin-left:0!important;
  margin-right:0!important;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.kr3-hero{
  width:100%!important;
  padding:72px 0 92px!important;
  margin:0!important;
}

.kr3-hero .wp-block-cover__inner-container{
  width:100%;
}

.kr3-hero-grid{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin:0 auto!important;
  gap:52px!important;
  align-items:center!important;
}

.kr3-pill{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0 0 18px!important;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.40);
  border-radius:999px;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.08em;
}

.kr3-hero-title{
  max-width:690px;
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:clamp(42px,5vw,66px)!important;
  font-weight:800!important;
  line-height:1.08!important;
}

.kr3-hero-copy{
  max-width:580px;
  margin:0 0 28px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:17px!important;
  line-height:1.75!important;
}

.kr3-actions{
  gap:12px!important;
}

.kr3-btn-primary .wp-block-button__link{
  padding:14px 22px!important;
  border:1px solid var(--kr-orange)!important;
  border-radius:10px!important;
  background:var(--kr-orange)!important;
  color:#fff!important;
  font-weight:700!important;
  box-shadow:none!important;
}

.kr3-btn-primary .wp-block-button__link:hover{
  background:var(--kr-orange-hover)!important;
  border-color:var(--kr-orange-hover)!important;
}

.kr3-btn-light .wp-block-button__link{
  padding:14px 22px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#fff!important;
  font-weight:700!important;
}

.kr3-hero-card{
  overflow:hidden;
  width:100%;
  max-width:470px;
  margin-left:auto!important;
  margin-right:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:#fff;
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}

.kr3-hero-card-img{
  margin:0!important;
}

.kr3-hero-card-img img{
  display:block;
  width:100%;
  height:285px;
  object-fit:cover;
}

.kr3-hero-card-body{
  padding:24px 26px 26px!important;
}

.kr3-label{
  margin:0 0 10px!important;
  color:var(--kr-orange)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em;
}

.kr3-check-list{
  margin:0!important;
  padding:0 0 0 20px!important;
}

.kr3-check-list li{
  margin:6px 0!important;
}

/* Trust bar: same exact center width as hero and sections */
.kr3-trust-strip{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin:42px auto 0!important;
  padding:6px 12px!important;
  gap:0!important;
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--kr-shadow);
}

.kr3-trust-item{
  min-height:94px;
  padding:18px 24px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.kr3-trust-item h4{
  margin:0 0 4px!important;
  font-size:18px!important;
  font-weight:800!important;
}

.kr3-trust-item p{
  margin:0!important;
  color:var(--kr-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

.kr3-trust-strip > .wp-block-column:not(:last-child){
  border-right:1px solid var(--kr-border);
}

/* ---------------------------------------------------------
   BENEFIT
   --------------------------------------------------------- */

.kr3-benefit{
  background:#fff!important;
}

.kr3-benefit-grid{
  width:100%;
  gap:20px!important;
  margin:0 0 20px!important;
  align-items:stretch!important;
}

.kr3-benefit-grid:last-child{
  margin-bottom:0!important;
}

.kr3-benefit-grid > .wp-block-column{
  display:flex;
}

.kr3-benefit-card{
  width:100%;
  min-height:190px;
  height:100%;
  margin:0!important;
  padding:28px!important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border:1px solid var(--kr-border);
  border-radius:var(--kr-radius);
  background:#fff;
  box-shadow:0 4px 18px rgba(13,34,56,.035);
}

.kr3-benefit-card h3{
  min-height:50px;
  margin:0 0 11px!important;
  font-size:20px!important;
  font-weight:750!important;
  line-height:1.28!important;
}

.kr3-benefit-card p{
  margin:0!important;
  color:var(--kr-muted)!important;
  font-size:14px!important;
}

.kr3-benefit-card-accent{
  border-color:#f0d6c5!important;
  background:var(--kr-orange-soft)!important;
}

.kr3-benefit-card-accent .wp-block-button{
  margin-top:auto!important;
  padding-top:18px;
}

/* ---------------------------------------------------------
   ABOUT
   --------------------------------------------------------- */

.kr3-about-grid{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  margin:0 auto!important;
  gap:54px!important;
  align-items:center!important;
}

.kr3-about-img{
  margin:0!important;
}

.kr3-about-img img{
  display:block;
  width:100%;
  height:380px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:var(--kr-shadow);
}

.kr3-about-grid .kr3-section-title{
  margin-bottom:12px!important;
}

.kr3-about-lead{
  margin:0 0 10px!important;
  font-size:18px!important;
  line-height:1.55!important;
}

.kr3-about-copy{
  max-width:640px;
  margin:0 0 24px!important;
  color:var(--kr-muted)!important;
}

.kr3-about-badges{
  width:100%;
  gap:12px!important;
  margin:0!important;
}

.kr3-about-badges .wp-block-column{
  min-width:0;
  border:1px solid var(--kr-border);
  border-radius:12px;
  background:#fff;
}

.kr3-about-badges p{
  margin:0!important;
  padding:14px 8px!important;
  text-align:center;
  font-size:13px!important;
  font-weight:700!important;
}

/* ---------------------------------------------------------
   SERVICES
   --------------------------------------------------------- */

.kr3-services-grid{
  width:100%;
  gap:20px!important;
  margin:0 0 20px!important;
  align-items:stretch!important;
}

.kr3-services-grid:last-child{
  margin-bottom:0!important;
}

.kr3-services-grid > .wp-block-column{
  display:flex;
}

.kr3-service-card{
  width:100%;
  height:100%;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--kr-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(13,34,56,.035);
}

.kr3-service-card figure{
  margin:0!important;
}

.kr3-service-card img{
  display:block;
  width:100%;
  height:205px;
  object-fit:cover;
}

.kr3-service-body{
  min-height:178px;
  padding:21px 22px 24px!important;
}

.kr3-service-body h3{
  min-height:50px;
  margin:0 0 9px!important;
  font-size:20px!important;
  font-weight:750!important;
  line-height:1.28!important;
}

.kr3-service-body p{
  margin:0!important;
  color:var(--kr-muted)!important;
  font-size:14px!important;
}

/* ---------------------------------------------------------
   ADDRESS
   --------------------------------------------------------- */

.kr3-address-wrap{
  padding:26px 0 34px!important;
  background:#fff;
}

.kr3-address{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin:0 auto!important;
  overflow:hidden;
  border-radius:22px;
  box-shadow:var(--kr-shadow);
}

.kr3-address-grid{
  width:100%;
  margin:0!important;
  padding:38px 42px!important;
  gap:28px!important;
  align-items:center!important;
}

.kr3-address-label{
  margin:0 0 7px!important;
  color:#ffb184!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.09em;
}

.kr3-address-title{
  margin:0 0 9px!important;
  color:#fff!important;
  font-size:34px!important;
  font-weight:800!important;
  line-height:1.2!important;
}

.kr3-address-copy{
  max-width:720px;
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
}

.kr3-address-actions{
  justify-content:flex-end!important;
  gap:10px!important;
}

/* ---------------------------------------------------------
   POSTS
   --------------------------------------------------------- */

.kr3-updates{
  padding-top:70px!important;
}

.kr3-post-grid{
  width:100%;
  gap:20px!important;
  margin:0!important;
}

.kr3-post-grid > li,
.kr3-post-grid > .wp-block-post{
  height:100%;
}

.kr3-post-card{
  height:100%;
  margin:0!important;
  padding:0 0 22px!important;
  overflow:hidden;
  border:1px solid var(--kr-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(13,34,56,.035);
}

.kr3-post-image{
  margin:0!important;
}

.kr3-post-image img{
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
}

.kr3-post-date{
  margin:17px 20px 5px!important;
  color:var(--kr-muted)!important;
  font-size:12px!important;
}

.kr3-post-title{
  margin:0 20px!important;
  font-size:19px!important;
  line-height:1.4!important;
}

.kr3-post-title a{
  color:var(--kr-text)!important;
  text-decoration:none!important;
}

.kr3-more-btn{
  margin-top:34px!important;
}

.kr3-btn-outline .wp-block-button__link{
  padding:13px 22px!important;
  border:1px solid var(--kr-orange)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--kr-orange)!important;
  font-weight:700!important;
}

/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.kr3-cta-wrap{
  padding:24px 0 84px!important;
}

.kr3-cta{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin:0 auto!important;
  padding:34px 38px!important;
  border:1px solid #f0ddd0;
  border-radius:20px;
  background:#fff7f1;
}

.kr3-cta .wp-block-columns{
  margin:0!important;
  align-items:center!important;
}

.kr3-cta-title{
  max-width:700px;
  margin:0 0 9px!important;
  font-size:32px!important;
  font-weight:800!important;
  line-height:1.22!important;
}

.kr3-cta-copy{
  max-width:760px;
  margin:0!important;
  color:var(--kr-muted)!important;
}

/* ---------------------------------------------------------
   COLOR LEAK PROTECTION
   --------------------------------------------------------- */

.kr3-home .kr3-section:not(.kr3-address-wrap) h1,
.kr3-home .kr3-section:not(.kr3-address-wrap) h2,
.kr3-home .kr3-section:not(.kr3-address-wrap) h3,
.kr3-home .kr3-section:not(.kr3-address-wrap) h4{
  color:var(--kr-text)!important;
}

.kr3-home .kr3-section:not(.kr3-address-wrap) p,
.kr3-home .kr3-section:not(.kr3-address-wrap) li{
  color:var(--kr-text);
}

.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-kicker{
  color:var(--kr-orange)!important;
}

.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-section-intro,
.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-about-copy,
.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-service-body p,
.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-benefit-card p,
.kr3-home .kr3-section:not(.kr3-address-wrap) .kr3-cta-copy{
  color:var(--kr-muted)!important;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width:960px){
  :root{
    --kr-side:22px;
  }

  .kr3-section{
    padding:72px 0!important;
  }

  .kr3-hero{
    padding:58px 0 74px!important;
  }

  .kr3-hero-grid,
  .kr3-about-grid{
    gap:34px!important;
  }

  .kr3-hero-card{
    max-width:none;
  }

  .kr3-address-grid{
    padding:30px!important;
  }

  .kr3-address-actions{
    justify-content:flex-start!important;
  }

  .kr3-cta-title{
    font-size:29px!important;
  }
}

/* ---------------------------------------------------------
   MOBILE / GUTENBERG STACK BREAKPOINT
   --------------------------------------------------------- */

@media (max-width:781px){
  :root{
    --kr-side:18px;
  }

  .kr3-section{
    padding:58px 0!important;
  }

  .kr3-hero{
    padding:46px 0 62px!important;
  }

  .kr3-hero-grid{
    gap:30px!important;
  }

  .kr3-hero-title{
    font-size:38px!important;
  }

  .kr3-hero-copy{
    font-size:16px!important;
  }

  .kr3-hero-card{
    margin:0!important;
  }

  .kr3-hero-card-img img{
    height:240px;
  }

  .kr3-trust-strip{
    margin-top:28px!important;
    padding:0 14px!important;
  }

  .kr3-trust-strip > .wp-block-column:not(:last-child){
    border-right:0;
    border-bottom:1px solid var(--kr-border);
  }

  .kr3-section-title{
    max-width:100%;
    font-size:32px!important;
  }

  .kr3-section-intro{
    margin-bottom:30px!important;
  }

  .kr3-benefit-grid{
    gap:14px!important;
    margin-bottom:14px!important;
  }

  .kr3-benefit-card{
    min-height:0;
  }

  .kr3-benefit-card h3,
  .kr3-service-body h3{
    min-height:0;
  }

  .kr3-about-img img{
    height:285px;
  }

  .kr3-about-badges{
    gap:8px!important;
  }

  .kr3-services-grid{
    gap:14px!important;
    margin-bottom:14px!important;
  }

  .kr3-service-body{
    min-height:0;
  }

  .kr3-address-wrap{
    padding:16px 0 26px!important;
  }

  .kr3-address-grid{
    padding:26px 20px!important;
  }

  .kr3-address-title{
    font-size:28px!important;
  }

  .kr3-address-actions{
    justify-content:flex-start!important;
  }

  .kr3-updates{
    padding-top:58px!important;
  }

  .kr3-cta-wrap{
    padding:18px 0 58px!important;
  }

  .kr3-cta{
    padding:28px 24px!important;
  }

  .kr3-cta-title{
    font-size:27px!important;
  }
}

@media (max-width:520px){
  :root{
    --kr-side:16px;
  }

  .kr3-pill{
    font-size:10px!important;
  }

  .kr3-hero-title{
    font-size:34px!important;
  }

  .kr3-actions,
  .kr3-address-actions{
    width:100%;
  }

  .kr3-actions .wp-block-button,
  .kr3-address-actions .wp-block-button{
    width:100%;
  }

  .kr3-actions .wp-block-button__link,
  .kr3-address-actions .wp-block-button__link{
    width:100%;
    text-align:center;
  }

  .kr3-about-badges{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V5 — FULL WIDTH CARD GRIDS INSIDE THE 1180PX CONTAINER
   ========================================================= */

/*
 * Gutenberg constrained groups can apply:
 *   .wp-block-group > :where(:not(.alignleft):not(.alignright):not(.alignfull))
 * with a smaller contentSize.
 *
 * These three sections intentionally use the entire alignwide container
 * for the card grids while keeping headings aligned to the same left edge.
 */
.kr5-full-grid-section{
  width:min(calc(100% - (var(--kr-side) * 2)), var(--kr-container))!important;
  max-width:var(--kr-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Direct children may not inherit Gutenberg's smaller content width. */
.kr5-full-grid-section > .kr3-benefit-grid,
.kr5-full-grid-section > .kr3-services-grid,
.kr5-full-grid-section > .wp-block-query,
.kr5-full-grid-section > .kr5-query-full{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Benefit grid: always fills the complete available container width. */
.kr5-full-grid-section .kr3-benefit-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

.kr5-full-grid-section .kr3-benefit-grid > .wp-block-column{
  width:100%!important;
  min-width:0!important;
  flex:none!important;
}

/* Services grid: same exact three-column geometry as benefits. */
.kr5-full-grid-section .kr3-services-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

.kr5-full-grid-section .kr3-services-grid > .wp-block-column{
  width:100%!important;
  min-width:0!important;
  flex:none!important;
}

/*
 * WordPress Query Loop uses UL.wp-block-post-template.
 * Force that UL to the full alignwide width rather than theme contentSize.
 */
.kr5-query-full,
.kr5-query-full .wp-block-post-template,
.kr5-post-section .wp-block-query,
.kr5-post-section .wp-block-post-template{
  width:100%!important;
  max-width:none!important;
}

.kr5-query-full .wp-block-post-template,
.kr5-post-section .wp-block-post-template{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  padding-left:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

.kr5-query-full .wp-block-post,
.kr5-post-section .wp-block-post{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

/* Card itself consumes the whole grid cell. */
.kr5-post-section .kr3-post-card,
.kr5-full-grid-section .kr3-benefit-card,
.kr5-full-grid-section .kr3-service-card{
  width:100%!important;
  max-width:none!important;
}

/*
 * Also protect these blocks from Gutenberg's generated max-width rule
 * in case the theme gives normal blocks a contentSize narrower than wideSize.
 */
.kr3-home .is-layout-constrained > .kr3-benefit-grid,
.kr3-home .is-layout-constrained > .kr3-services-grid,
.kr3-home .is-layout-constrained > .kr5-query-full,
.kr3-home .is-layout-constrained > .wp-block-query.kr5-query-full{
  max-width:none!important;
}

/* Keep heading text readable instead of stretching across the full 1180px. */
.kr5-full-grid-section > .kr3-kicker{
  width:100%;
  max-width:820px!important;
}

.kr5-full-grid-section > .kr3-section-title{
  width:100%;
  max-width:820px!important;
}

.kr5-full-grid-section > .kr3-section-intro{
  width:100%;
  max-width:720px!important;
}

/* Tablet */
@media (max-width:900px){
  .kr5-full-grid-section .kr3-benefit-grid,
  .kr5-full-grid-section .kr3-services-grid,
  .kr5-query-full .wp-block-post-template,
  .kr5-post-section .wp-block-post-template{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media (max-width:620px){
  .kr5-full-grid-section .kr3-benefit-grid,
  .kr5-full-grid-section .kr3-services-grid,
  .kr5-query-full .wp-block-post-template,
  .kr5-post-section .wp-block-post-template{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V6 — FINAL CTA SPACING FIX
   ========================================================= */

.kr3-cta .wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) auto!important;
  gap:48px!important;
  align-items:center!important;
}

.kr3-cta .wp-block-column{
  min-width:0!important;
}

.kr3-cta .wp-block-column:last-child{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  padding-left:12px!important;
}

.kr3-cta .wp-block-column:last-child .wp-block-buttons{
  margin:0!important;
  justify-content:flex-end!important;
}

.kr3-cta .wp-block-column:last-child .wp-block-button{
  margin:0!important;
}

.kr3-cta .wp-block-column:last-child .wp-block-button__link{
  white-space:nowrap;
  min-width:185px;
  text-align:center;
}

/* Give the copy a little more breathing room */
.kr3-cta-title{
  margin-bottom:12px!important;
}

.kr3-cta-copy{
  max-width:720px!important;
  line-height:1.75!important;
}

@media (max-width:900px){
  .kr3-cta .wp-block-columns{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .kr3-cta .wp-block-column:last-child{
    justify-content:flex-start!important;
    padding-left:0!important;
  }

  .kr3-cta .wp-block-column:last-child .wp-block-buttons{
    justify-content:flex-start!important;
  }
}

@media (max-width:520px){
  .kr3-cta .wp-block-column:last-child .wp-block-buttons,
  .kr3-cta .wp-block-column:last-child .wp-block-button{
    width:100%!important;
  }

  .kr3-cta .wp-block-column:last-child .wp-block-button__link{
    width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   HEADER STYLES
   ========================================================= */

/* =========================================================
   KING ROYAL HEADER
   Compatible with kingroyal-v6.css
   ========================================================= */

:root{
  --kr-header-navy:#0d2238;
  --kr-header-orange:#f47b3a;
  --kr-header-orange-hover:#dc672d;
  --kr-header-text:#182536;
  --kr-header-muted:#667382;
  --kr-header-line:#e7e9ec;
  --kr-header-container:1180px;
}

/* HEADER SHELL */
.kr-header-shell{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  position:relative;
  z-index:100;
}

.kr-header-shell,
.kr-header-shell *{
  box-sizing:border-box;
}

/* Consistent width with homepage */
.kr-header-shell .alignwide{
  width:min(calc(100% - 48px), var(--kr-header-container))!important;
  max-width:var(--kr-header-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* TOP BAR */
.kr-header-topbar{
  width:100%;
  margin:0!important;
  padding:8px 0!important;
  background:var(--kr-header-navy);
}

.kr-header-topbar__inner{
  min-height:25px;
  gap:18px!important;
}

.kr-header-topbar p{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:12px!important;
  line-height:1.45!important;
}

.kr-header-topbar a{
  color:#fff!important;
  text-decoration:none!important;
}

.kr-header-topbar a:hover{
  color:#ffb184!important;
}

.kr-header-topbar__right{
  color:rgba(255,255,255,.60)!important;
  font-weight:600;
}

/* MAIN NAV */
.kr-header-main{
  width:100%;
  margin:0!important;
  padding:0!important;
  background:#fff;
  border-bottom:1px solid var(--kr-header-line);
  box-shadow:0 4px 18px rgba(13,34,56,.035);
}

.kr-header-main__inner{
  min-height:84px;
  gap:28px!important;
}

/* LOGO */
.kr-header-brand{
  flex:0 0 auto;
}

.kr-header-logo{
  margin:0!important;
}

.kr-header-logo a{
  display:block;
  line-height:0;
}

.kr-header-logo img{
  display:block;
  width:190px!important;
  max-width:190px!important;
  height:56px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* RIGHT GROUP */
.kr-header-actions{
  flex:1 1 auto;
  gap:24px!important;
}

/* NAV */
.kr-header-nav{
  flex:1 1 auto;
}

.kr-header-nav .wp-block-navigation__container{
  gap:28px!important;
}

.kr-header-nav .wp-block-navigation-item__content{
  position:relative;
  padding:31px 0!important;
  color:var(--kr-header-text)!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1!important;
  text-decoration:none!important;
}

.kr-header-nav .wp-block-navigation-item__content::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:20px;
  height:2px;
  border-radius:999px;
  background:var(--kr-header-orange);
  transition:right .2s ease;
}

.kr-header-nav .wp-block-navigation-item__content:hover{
  color:var(--kr-header-orange)!important;
}

.kr-header-nav .wp-block-navigation-item__content:hover::after,
.kr-header-nav .current-menu-item > .wp-block-navigation-item__content::after{
  right:0;
}

/* CTA */
.kr-header-cta{
  flex:0 0 auto;
}

.kr-header-cta__button{
  margin:0!important;
}

.kr-header-cta__button .wp-block-button__link{
  padding:12px 18px!important;
  border:1px solid var(--kr-header-orange)!important;
  border-radius:9px!important;
  background:var(--kr-header-orange)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.25!important;
  white-space:nowrap;
  box-shadow:none!important;
}

.kr-header-cta__button .wp-block-button__link:hover{
  border-color:var(--kr-header-orange-hover)!important;
  background:var(--kr-header-orange-hover)!important;
}

/* STICKY DESKTOP HEADER */
@media (min-width:782px){
  .kr-header-main{
    position:sticky;
    top:0;
    z-index:99;
  }
}

/* TABLET */
@media (max-width:1050px){
  .kr-header-main__inner{
    min-height:78px;
  }

  .kr-header-logo img{
    width:170px!important;
    max-width:170px!important;
    height:50px!important;
  }

  .kr-header-actions{
    gap:16px!important;
  }

  .kr-header-nav .wp-block-navigation__container{
    gap:20px!important;
  }

  .kr-header-nav .wp-block-navigation-item__content{
    font-size:13px!important;
  }

  .kr-header-cta__button .wp-block-button__link{
    padding:11px 14px!important;
  }
}

/* MOBILE */
@media (max-width:781px){
  .kr-header-shell .alignwide{
    width:min(calc(100% - 32px), var(--kr-header-container))!important;
  }

  .kr-header-topbar{
    display:none;
  }

  .kr-header-main__inner{
    min-height:72px;
    gap:14px!important;
  }

  .kr-header-logo img{
    width:150px!important;
    max-width:150px!important;
    height:46px!important;
  }

  .kr-header-actions{
    flex:0 0 auto;
    gap:12px!important;
  }

  .kr-header-cta{
    display:none!important;
  }

  .kr-header-nav{
    flex:0 0 auto;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    padding:0!important;
    border:1px solid var(--kr-header-line);
    border-radius:10px;
    background:#fff;
    color:var(--kr-header-navy);
  }

  .kr-header-nav .wp-block-navigation__responsive-container{
    padding:24px!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-content{
    padding-top:54px!important;
  }

  .kr-header-nav .wp-block-navigation__container{
    gap:0!important;
  }

  .kr-header-nav .wp-block-navigation-item{
    width:100%;
    border-bottom:1px solid var(--kr-header-line);
  }

  .kr-header-nav .wp-block-navigation-item__content{
    width:100%;
    padding:16px 0!important;
    font-size:16px!important;
  }

  .kr-header-nav .wp-block-navigation-item__content::after{
    display:none;
  }
}

/* SMALL MOBILE */
@media (max-width:420px){
  .kr-header-logo img{
    width:135px!important;
    max-width:135px!important;
    height:42px!important;
  }
}

/* =========================================================
   KING ROYAL FOOTER V2 — CLEANER LAYOUT, NO SOCIAL ICONS
   ========================================================= */

.kr-footer{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(180deg,#0d2238 0%,#091725 100%)!important;
  color:#fff;
}

.kr-footer,
.kr-footer *{
  box-sizing:border-box;
}

.kr-footer .alignwide{
  width:min(calc(100% - 48px),1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.kr-footer__inner{
  padding:66px 0 24px!important;
}

.kr-footer__grid{
  display:grid!important;
  grid-template-columns:1.55fr .75fr .95fr 1fr!important;
  gap:46px!important;
  align-items:start!important;
  margin:0!important;
}

.kr-footer__grid > .wp-block-column{
  min-width:0!important;
  flex:none!important;
}

/* BRAND */
.kr-footer__logo{
  margin:0 0 18px!important;
}

.kr-footer__logo a{
  display:inline-block;
  line-height:0;
}

.kr-footer__logo img{
  display:block;
  width:185px!important;
  max-width:185px!important;
  height:56px!important;
  object-fit:contain!important;
  object-position:left center!important;
  padding:5px 8px;
  border-radius:9px;
  background:#fff;
}

.kr-footer__tagline{
  margin:0 0 10px!important;
  max-width:380px;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.55!important;
}

.kr-footer__desc{
  margin:0!important;
  max-width:390px;
  color:rgba(255,255,255,.68)!important;
  font-size:13px!important;
  line-height:1.8!important;
}

/* TITLES */
.kr-footer__title{
  position:relative;
  margin:3px 0 22px!important;
  padding-bottom:12px;
  color:#fff!important;
  font-size:16px!important;
  font-weight:750!important;
  line-height:1.3!important;
}

.kr-footer__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:30px;
  height:2px;
  border-radius:999px;
  background:#f47b3a;
}

/* LINKS */
.kr-footer__links{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.kr-footer__links li{
  margin:0 0 11px!important;
  padding:0!important;
  list-style:none!important;
  line-height:1.45!important;
}

.kr-footer__links a{
  color:rgba(255,255,255,.70)!important;
  font-size:13px!important;
  text-decoration:none!important;
}

.kr-footer__links a:hover{
  color:#ff9a62!important;
}

/* CONTACT */
.kr-footer__contact-list{
  margin:0!important;
}

.kr-footer__contact-item{
  margin:0 0 17px!important;
  padding:0!important;
}

.kr-footer__contact-item:last-child{
  margin-bottom:0!important;
}

.kr-footer__contact-label{
  margin:0 0 3px!important;
  color:rgba(255,255,255,.48)!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.35!important;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.kr-footer__contact-value{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;
  line-height:1.6!important;
}

.kr-footer__contact-value a{
  color:rgba(255,255,255,.82)!important;
  text-decoration:none!important;
}

.kr-footer__contact-value a:hover{
  color:#ff9a62!important;
}

/* ADDRESS — separate row so the contact column doesn't become too tall */
.kr-footer__address-row{
  margin:44px 0 0!important;
  padding:22px 0 0!important;
  border-top:1px solid rgba(255,255,255,.09);
}

.kr-footer__address-label{
  margin:0 0 5px!important;
  color:rgba(255,255,255,.48)!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.kr-footer__address{
  max-width:780px;
  margin:0!important;
  color:rgba(255,255,255,.70)!important;
  font-size:13px!important;
  line-height:1.7!important;
}

/* BOTTOM */
.kr-footer__bottom{
  margin-top:22px!important;
  padding:20px 0 0!important;
  gap:16px!important;
  border-top:1px solid rgba(255,255,255,.09);
}

.kr-footer__copy,
.kr-footer__legal{
  margin:0!important;
  color:rgba(255,255,255,.48)!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}

.kr-footer__legal{
  display:flex;
  align-items:center;
  gap:9px;
}

.kr-footer__legal span{
  color:rgba(255,255,255,.24);
}

.kr-footer__legal a{
  color:rgba(255,255,255,.58)!important;
  text-decoration:none!important;
}

.kr-footer__legal a:hover{
  color:#ff9a62!important;
}

/* TABLET */
@media (max-width:960px){
  .kr-footer__grid{
    grid-template-columns:1.4fr 1fr 1fr!important;
    gap:36px 28px!important;
  }

  .kr-footer__brand-col{
    grid-column:1/-1;
  }

  .kr-footer__tagline,
  .kr-footer__desc{
    max-width:620px;
  }
}

/* MOBILE */
@media (max-width:781px){
  .kr-footer .alignwide{
    width:min(calc(100% - 36px),1180px)!important;
  }

  .kr-footer__inner{
    padding-top:52px!important;
  }

  .kr-footer__grid{
    grid-template-columns:1fr 1fr!important;
    gap:32px 26px!important;
  }

  .kr-footer__brand-col{
    grid-column:1/-1;
  }

  .kr-footer__address-row{
    margin-top:34px!important;
  }

  .kr-footer__bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

@media (max-width:520px){
  .kr-footer .alignwide{
    width:min(calc(100% - 32px),1180px)!important;
  }

  .kr-footer__grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .kr-footer__brand-col{
    grid-column:auto;
  }

  .kr-footer__logo img{
    width:165px!important;
    max-width:165px!important;
    height:50px!important;
  }

  .kr-footer__address{
    max-width:100%;
  }

  .kr-footer__legal{
    flex-wrap:wrap;
  }
}

/* =========================================================
   FOOTER V3 — FORCE FULL 1180PX CONTAINER WIDTH
   ========================================================= */

/*
 * Gutenberg's constrained layout can apply a smaller content width
 * to normal child blocks even when their parent is alignwide.
 * Force the main footer grid, address row, and bottom row to use
 * the full width of the same 1180px centered container.
 */

.kr-footer__inner{
  width:min(calc(100% - 48px),1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/*
 * Because kr-footer__inner itself is now the centered container,
 * direct children must use 100% rather than another constrained width.
 */
.kr-footer__inner > .kr-footer__grid,
.kr-footer__inner > .kr-footer__address-row,
.kr-footer__inner > .kr-footer__bottom{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Full width grid */
.kr-footer__grid{
  width:100%!important;
  max-width:none!important;
}

/* Full width office address row */
.kr-footer__address-row{
  width:100%!important;
  max-width:none!important;
}

/* Full width copyright/legal row */
.kr-footer__bottom{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}

/*
 * Stop Gutenberg from restricting these direct children
 * to theme contentSize.
 */
.kr-footer .is-layout-constrained > .kr-footer__grid,
.kr-footer .is-layout-constrained > .kr-footer__address-row,
.kr-footer .is-layout-constrained > .kr-footer__bottom{
  max-width:none!important;
}

/* Copyright on the exact left edge, legal links on exact right edge */
.kr-footer__copy{
  flex:0 1 auto!important;
  text-align:left!important;
}

.kr-footer__legal{
  flex:0 1 auto!important;
  margin-left:auto!important;
  text-align:right!important;
}

/* Cleaner legal separator spacing */
.kr-footer__legal{
  gap:10px!important;
}

.kr-footer__legal span{
  display:inline-block;
  margin:0 2px;
}

/* Tablet */
@media (max-width:781px){
  .kr-footer__inner{
    width:min(calc(100% - 36px),1180px)!important;
  }

  .kr-footer__bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
  }

  .kr-footer__legal{
    margin-left:0!important;
    text-align:left!important;
  }
}

/* Small mobile */
@media (max-width:520px){
  .kr-footer__inner{
    width:min(calc(100% - 32px),1180px)!important;
  }

  .kr-footer__bottom{
    width:100%!important;
  }

  .kr-footer__legal{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN PAGE
   Use together with the existing combined stylesheet.
   ========================================================= */

.kr-service-page{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff;
  color:var(--kr-text,#182536);
}

.kr-service-page,
.kr-service-page *{
  box-sizing:border-box;
}

.kr-service-page .alignwide{
  width:min(calc(100% - (var(--kr-side,24px) * 2)),var(--kr-container,1180px))!important;
  max-width:var(--kr-container,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* HERO */
.kr-service-page__hero{
  width:100%!important;
  margin:0!important;
  padding:68px 0!important;
}

.kr-service-page__hero .wp-block-cover__inner-container{
  width:100%!important;
}

.kr-service-page__hero-inner{
  max-width:1180px!important;
}

.kr-service-page__eyebrow{
  display:inline-flex;
  width:auto;
  margin:0 0 16px!important;
  padding:7px 13px;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:800!important;
  letter-spacing:.09em;
}

.kr-service-page__title{
  max-width:820px;
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:clamp(40px,5vw,62px)!important;
  line-height:1.08!important;
  font-weight:800!important;
}

.kr-service-page__lead{
  max-width:670px;
  margin:0 0 26px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:17px!important;
  line-height:1.75!important;
}

/* INTRO */
.kr-service-page__intro-section{
  padding:78px 0 54px!important;
  background:#fff;
}

.kr-service-page__intro{
  width:min(calc(100% - (var(--kr-side,24px) * 2)),var(--kr-container,1180px))!important;
  max-width:var(--kr-container,1180px)!important;
}

.kr-service-page__benefits{
  width:100%!important;
  max-width:none!important;
  margin:34px 0 0!important;
  gap:18px!important;
}

.kr-service-page__benefit{
  height:100%;
  padding:22px 24px!important;
  border:1px solid var(--kr-border,#e7e9ec);
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(13,34,56,.035);
}

.kr-service-page__benefit h4{
  margin:0 0 7px!important;
  color:var(--kr-text,#182536)!important;
  font-size:17px!important;
  font-weight:750!important;
}

.kr-service-page__benefit p{
  margin:0!important;
  color:var(--kr-muted,#687382)!important;
  font-size:13px!important;
  line-height:1.65!important;
}

/* LIST */
.kr-service-page__list-section{
  padding:76px 0 84px!important;
  background:var(--kr-warm,#faf9f7);
}

.kr-service-page__list-wrap{
  width:min(calc(100% - (var(--kr-side,24px) * 2)),var(--kr-container,1180px))!important;
  max-width:var(--kr-container,1180px)!important;
}

.kr-service-page__list-heading{
  width:100%!important;
  max-width:none!important;
  margin:0 0 34px!important;
  gap:24px!important;
  align-items:flex-end!important;
}

.kr-service-page__list-title{
  max-width:720px;
  margin:0!important;
  color:var(--kr-text,#182536)!important;
  font-size:clamp(30px,3.5vw,42px)!important;
  line-height:1.15!important;
  font-weight:800!important;
}

.kr-service-page__list-note{
  margin:0!important;
  color:var(--kr-muted,#687382)!important;
  font-size:13px!important;
}

.kr-service-page__list-note a{
  color:var(--kr-orange,#f47b3a)!important;
  font-weight:700;
  text-decoration:none!important;
}

/* Override Gutenberg constrained Query width */
.kr-service-page__query{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.kr-service-page__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:none!important;
  gap:22px!important;
  margin:0!important;
  padding:0!important;
}

.kr-service-page__grid > .wp-block-post{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

.kr-service-page__card{
  width:100%!important;
  height:100%;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--kr-border,#e7e9ec);
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 18px rgba(13,34,56,.04);
  transition:transform .2s ease,box-shadow .2s ease;
}

.kr-service-page__card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(13,34,56,.09);
}

.kr-service-page__card-image{
  margin:0!important;
}

.kr-service-page__card-image img{
  display:block;
  width:100%!important;
  height:230px!important;
  object-fit:cover!important;
}

.kr-service-page__card-body{
  padding:22px 22px 24px!important;
}

.kr-service-page__date{
  margin:0 0 8px!important;
  color:var(--kr-muted,#687382)!important;
  font-size:11px!important;
}

.kr-service-page__card-title{
  margin:0 0 11px!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:750!important;
}

.kr-service-page__card-title a{
  color:var(--kr-text,#182536)!important;
  text-decoration:none!important;
}

.kr-service-page__card-title a:hover{
  color:var(--kr-orange,#f47b3a)!important;
}

.kr-service-page__excerpt{
  margin:0!important;
  color:var(--kr-muted,#687382)!important;
  font-size:13px!important;
  line-height:1.7!important;
}

.kr-service-page__excerpt p{
  margin:0!important;
}

.kr-service-page__excerpt .wp-block-post-excerpt__more-link{
  display:inline-flex;
  margin-top:14px;
  color:var(--kr-orange,#f47b3a)!important;
  font-size:13px;
  font-weight:750;
  text-decoration:none!important;
}

.kr-service-page__pagination{
  margin-top:42px!important;
  gap:8px!important;
}

.kr-service-page__pagination a,
.kr-service-page__pagination .page-numbers{
  min-width:38px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 11px;
  border:1px solid var(--kr-border,#e7e9ec);
  border-radius:9px;
  background:#fff;
  color:var(--kr-text,#182536)!important;
  text-decoration:none!important;
}

.kr-service-page__pagination .current{
  border-color:var(--kr-orange,#f47b3a)!important;
  background:var(--kr-orange,#f47b3a)!important;
  color:#fff!important;
}

.kr-service-page__empty{
  width:100%;
  padding:42px!important;
  text-align:center;
  border:1px solid var(--kr-border,#e7e9ec);
  border-radius:18px;
  background:#fff;
}

/* CTA */
.kr-service-page__cta-section{
  padding:24px 0 82px!important;
  background:#fff;
}

.kr-service-page__cta{
  width:min(calc(100% - (var(--kr-side,24px) * 2)),var(--kr-container,1180px))!important;
  max-width:var(--kr-container,1180px)!important;
  padding:34px 38px!important;
  border:1px solid #f0ddd0;
  border-radius:20px;
  background:#fff7f1;
}

.kr-service-page__cta .wp-block-columns{
  margin:0!important;
  gap:42px!important;
}

.kr-service-page__cta-title{
  max-width:680px;
  margin:0 0 9px!important;
  color:var(--kr-text,#182536)!important;
  font-size:31px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

.kr-service-page__cta-copy{
  max-width:720px;
  margin:0!important;
  color:var(--kr-muted,#687382)!important;
  font-size:14px!important;
  line-height:1.7!important;
}

@media (max-width:900px){
  .kr-service-page__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .kr-service-page__list-heading{
    align-items:flex-start!important;
  }

  .kr-service-page__cta .wp-block-columns{
    gap:22px!important;
  }
}

@media (max-width:781px){
  .kr-service-page__hero{
    padding:50px 0!important;
  }

  .kr-service-page__title{
    font-size:38px!important;
  }

  .kr-service-page__intro-section{
    padding:58px 0 40px!important;
  }

  .kr-service-page__benefits{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .kr-service-page__list-section{
    padding:58px 0!important;
  }

  .kr-service-page__list-heading{
    display:block!important;
  }

  .kr-service-page__list-note{
    margin-top:14px!important;
  }

  .kr-service-page__cta{
    padding:28px 24px!important;
  }

  .kr-service-page__cta-title{
    font-size:27px!important;
  }

  .kr-service-page__cta .wp-block-buttons{
    justify-content:flex-start!important;
    margin-top:2px!important;
  }
}

@media (max-width:620px){
  .kr-service-page__grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:520px){
  .kr-service-page__title{
    font-size:34px!important;
  }

  .kr-service-page__hero-actions .wp-block-button,
  .kr-service-page__hero-actions .wp-block-button__link,
  .kr-service-page__cta .wp-block-button,
  .kr-service-page__cta .wp-block-button__link{
    width:100%!important;
    text-align:center;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN PAGE V2
   CENTERED CONTAINER FIX
   ========================================================= */

.kr-service-page{
  --kr-service-container:1180px;
  --kr-service-side:24px;

  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* ---------------------------------------------------------
   ONE CONTAINER RULE FOR THE WHOLE PAGE
   --------------------------------------------------------- */

.kr-service-page .alignwide,
.kr-service-page .wp-block-group.alignwide,
.kr-service-page .wp-block-columns.alignwide,
.kr-service-page .wp-block-cover.alignwide{
  width:min(
    calc(100% - (var(--kr-service-side) * 2)),
    var(--kr-service-container)
  )!important;
  max-width:var(--kr-service-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.kr-service-page .alignfull{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* prevent Jadro/Gutenberg from narrowing normal children */
.kr-service-page .is-layout-constrained > .alignwide,
.kr-service-page .is-layout-constrained > .kr-service-page__intro,
.kr-service-page .is-layout-constrained > .kr-service-page__list-wrap,
.kr-service-page .is-layout-constrained > .kr-service-page__cta{
  max-width:var(--kr-service-container)!important;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.kr-service-page__hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:68px 0!important;
}

.kr-service-page__hero .wp-block-cover__inner-container{
  width:100%!important;
  max-width:none!important;
}

.kr-service-page__hero-inner{
  width:min(
    calc(100% - (var(--kr-service-side) * 2)),
    var(--kr-service-container)
  )!important;
  max-width:var(--kr-service-container)!important;
  margin:0 auto!important;
}

/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.kr-service-page__intro-section{
  width:100%!important;
  margin:0!important;
  padding:78px 0 54px!important;
}

.kr-service-page__intro{
  width:min(
    calc(100% - (var(--kr-service-side) * 2)),
    var(--kr-service-container)
  )!important;
  max-width:var(--kr-service-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* keep heading text readable while still aligned with full container */
.kr-service-page__intro > .kr3-kicker,
.kr-service-page__intro > .kr3-section-title{
  width:100%!important;
  max-width:820px!important;
  margin-left:0!important;
  margin-right:0!important;
}

.kr-service-page__intro > .kr3-section-intro{
  width:100%!important;
  max-width:720px!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* benefits must fill the entire 1180px container */
.kr-service-page__benefits{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;

  width:100%!important;
  max-width:none!important;

  margin:34px 0 0!important;
  gap:20px!important;
}

.kr-service-page__benefits > .wp-block-column{
  width:100%!important;
  min-width:0!important;
  flex:none!important;
}

.kr-service-page__benefit{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
}

/* ---------------------------------------------------------
   SERVICE LIST SECTION
   --------------------------------------------------------- */

.kr-service-page__list-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:76px 0 84px!important;
}

.kr-service-page__list-wrap{
  width:min(
    calc(100% - (var(--kr-service-side) * 2)),
    var(--kr-service-container)
  )!important;
  max-width:var(--kr-service-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/*
 * This is the important Gutenberg fix:
 * normal constrained children may use theme contentSize.
 * Force heading and query to use the full centered container.
 */
.kr-service-page__list-wrap > .kr-service-page__list-heading,
.kr-service-page__list-wrap > .kr-service-page__query{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.kr-service-page__list-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:40px!important;
  margin-bottom:34px!important;
}

.kr-service-page__list-heading > *{
  min-width:0!important;
}

.kr-service-page__list-title{
  max-width:720px!important;
}

/* ---------------------------------------------------------
   QUERY / CARDS — FULL CONTAINER
   --------------------------------------------------------- */

.kr-service-page__query{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.kr-service-page__query > .wp-block-post-template,
.kr-service-page__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;

  width:100%!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;
  gap:22px!important;
}

.kr-service-page__grid > .wp-block-post,
.kr-service-page__query .wp-block-post{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

.kr-service-page__card{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
}

/* prevent nested constrained card body from becoming too narrow */
.kr-service-page__card-body{
  width:100%!important;
  max-width:none!important;
}

/* ---------------------------------------------------------
   PAGINATION
   --------------------------------------------------------- */

.kr-service-page__pagination{
  width:100%!important;
  max-width:none!important;
  margin:42px 0 0!important;
  justify-content:center!important;
}

/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.kr-service-page__cta-section{
  width:100%!important;
  margin:0!important;
  padding:24px 0 82px!important;
}

.kr-service-page__cta{
  width:min(
    calc(100% - (var(--kr-service-side) * 2)),
    var(--kr-service-container)
  )!important;
  max-width:var(--kr-service-container)!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding:34px 38px!important;
}

.kr-service-page__cta > .wp-block-columns{
  width:100%!important;
  max-width:none!important;
  margin:0!important;

  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:48px!important;

  align-items:center!important;
}

.kr-service-page__cta .wp-block-column{
  min-width:0!important;
}

.kr-service-page__cta .wp-block-column:last-child{
  display:flex!important;
  justify-content:flex-end!important;
}

.kr-service-page__cta .wp-block-column:last-child .wp-block-buttons{
  justify-content:flex-end!important;
  margin:0!important;
}

/* ---------------------------------------------------------
   REMOVE THEME WIDTH LEAKS
   --------------------------------------------------------- */

.kr-service-page .is-layout-constrained > .kr-service-page__benefits,
.kr-service-page .is-layout-constrained > .kr-service-page__query,
.kr-service-page .is-layout-constrained > .kr-service-page__grid,
.kr-service-page .is-layout-constrained > .kr-service-page__list-heading,
.kr-service-page .is-layout-constrained > .kr-service-page__pagination{
  width:100%!important;
  max-width:none!important;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width:900px){
  .kr-service-page{
    --kr-service-side:22px;
  }

  .kr-service-page__benefits,
  .kr-service-page__query > .wp-block-post-template,
  .kr-service-page__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .kr-service-page__list-heading{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:14px!important;
  }

  .kr-service-page__cta > .wp-block-columns{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .kr-service-page__cta .wp-block-column:last-child,
  .kr-service-page__cta .wp-block-column:last-child .wp-block-buttons{
    justify-content:flex-start!important;
  }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width:620px){
  .kr-service-page{
    --kr-service-side:16px;
  }

  .kr-service-page__benefits,
  .kr-service-page__query > .wp-block-post-template,
  .kr-service-page__grid{
    grid-template-columns:1fr!important;
  }

  .kr-service-page__hero{
    padding:50px 0!important;
  }

  .kr-service-page__intro-section{
    padding:58px 0 42px!important;
  }

  .kr-service-page__list-section{
    padding:58px 0!important;
  }

  .kr-service-page__cta-section{
    padding:18px 0 58px!important;
  }

  .kr-service-page__cta{
    padding:26px 22px!important;
  }

  .kr-service-page__cta .wp-block-button,
  .kr-service-page__cta .wp-block-button__link{
    width:100%!important;
    text-align:center!important;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN V3
   HERO TRUE FULL BLEED FIX
   ========================================================= */

/*
 * Some Jadro/Gutenberg templates wrap page content inside a constrained
 * content area. `width:100%` then only means 100% of that inner wrapper.
 * Force the hero to span the actual viewport width.
 */
.kr-service-page__hero{
  position:relative!important;
  left:50%!important;
  right:50%!important;

  width:100vw!important;
  max-width:100vw!important;

  margin-left:-50vw!important;
  margin-right:-50vw!important;

  padding-left:0!important;
  padding-right:0!important;

  overflow:hidden!important;
}

/* Cover must itself consume the full viewport */
.kr-service-page .wp-block-cover.kr-service-page__hero,
.kr-service-page__hero.alignfull{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
}

/*
 * Gutenberg/theme may add left/right padding to alignfull blocks.
 * Remove that only from the hero.
 */
.kr-service-page__hero.wp-block-cover{
  padding-left:0!important;
  padding-right:0!important;
}

/* Background media must also cover the full hero */
.kr-service-page__hero .wp-block-cover__image-background,
.kr-service-page__hero .wp-block-cover__background{
  width:100%!important;
  max-width:none!important;
}

/*
 * Keep the INNER content aligned to the same 1180px container
 * used by the homepage.
 */
.kr-service-page__hero .wp-block-cover__inner-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

.kr-service-page__hero-inner{
  width:min(
    calc(100% - (var(--kr-service-side,24px) * 2)),
    var(--kr-service-container,1180px)
  )!important;

  max-width:var(--kr-service-container,1180px)!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding-left:0!important;
  padding-right:0!important;
}

/*
 * Protect against theme styles like:
 * .wp-site-blocks > * { margin-block-start: ... }
 * and constrained parents applying their own horizontal margins.
 */
.kr-service-page > .kr-service-page__hero{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Avoid horizontal scroll caused by 100vw on browsers with scrollbar width */
.kr-service-page{
  overflow-x:clip!important;
}

@supports not (overflow:clip){
  .kr-service-page{
    overflow-x:hidden!important;
  }
}

/* Tablet */
@media (max-width:900px){
  .kr-service-page__hero-inner{
    width:min(
      calc(100% - 44px),
      var(--kr-service-container,1180px)
    )!important;
  }
}

/* Mobile */
@media (max-width:620px){
  .kr-service-page__hero-inner{
    width:min(
      calc(100% - 32px),
      var(--kr-service-container,1180px)
    )!important;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN V4
   TRUE FULL-WIDTH HERO — NO LEFT/RIGHT GAP
   ========================================================= */

/*
 * IMPORTANT:
 * The previous rule used overflow-x:clip on .kr-service-page.
 * That clipped the part of the 100vw hero that intentionally
 * escaped the constrained page-content wrapper.
 */
.kr-service-page{
  overflow:visible!important;
  overflow-x:visible!important;
}

/*
 * Use the standard full-bleed formula.
 * This works even if WordPress/Jadro inserts the page content
 * inside a narrower constrained wrapper.
 */
.kr-service-page__hero,
.kr-service-page .wp-block-cover.kr-service-page__hero,
.kr-service-page__hero.alignfull{
  position:relative!important;

  left:auto!important;
  right:auto!important;

  width:100vw!important;
  max-width:none!important;

  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;

  padding-left:0!important;
  padding-right:0!important;
}

/* Remove Gutenberg/theme spacing directly around the cover. */
.kr-service-page > .kr-service-page__hero{
  margin-top:0!important;
  margin-bottom:0!important;
}

/*
 * If the content-only template is being rendered inside
 * .wp-block-post-content or .entry-content, don't allow their
 * normal block max-width rule to shrink this specific hero.
 */
.wp-block-post-content > .kr-service-page,
.entry-content > .kr-service-page{
  max-width:none!important;
}

.wp-block-post-content .kr-service-page__hero,
.entry-content .kr-service-page__hero{
  max-width:none!important;
}

/* Ensure the cover media actually reaches both edges. */
.kr-service-page__hero .wp-block-cover__background,
.kr-service-page__hero .wp-block-cover__image-background{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
}

/*
 * Keep only the CONTENT centered.
 * Background is viewport-wide; text follows the 1180px homepage grid.
 */
.kr-service-page__hero .wp-block-cover__inner-container{
  position:relative!important;
  z-index:1;

  width:100%!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;
}

.kr-service-page__hero-inner,
.kr-service-page__hero .wp-block-cover__inner-container > .kr-service-page__hero-inner{
  width:min(
    calc(100% - 48px),
    1180px
  )!important;

  max-width:1180px!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding-left:0!important;
  padding-right:0!important;
}

/*
 * WordPress sometimes puts horizontal padding on .wp-site-blocks.
 * The 100vw + calc(50% - 50vw) rule above cancels that spacing,
 * so don't re-introduce it on the hero itself.
 */
.wp-site-blocks .kr-service-page__hero{
  padding-inline:0!important;
}

/*
 * Avoid a horizontal scrollbar without clipping the full-bleed
 * element at the constrained page wrapper level.
 */
html,
body{
  overflow-x:hidden;
}

/* Tablet */
@media (max-width:900px){
  .kr-service-page__hero-inner,
  .kr-service-page__hero .wp-block-cover__inner-container > .kr-service-page__hero-inner{
    width:min(calc(100% - 44px),1180px)!important;
  }
}

/* Mobile */
@media (max-width:620px){
  .kr-service-page__hero-inner,
  .kr-service-page__hero .wp-block-cover__inner-container > .kr-service-page__hero-inner{
    width:min(calc(100% - 32px),1180px)!important;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN V5
   HERO CTA LEFT ALIGNMENT
   ========================================================= */

.kr-service-page__hero-actions{
  width:100%!important;
  max-width:none!important;
  margin:0!important;

  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:12px!important;
}

.kr-service-page__hero-actions .wp-block-button{
  margin:0!important;
}

.kr-service-page__hero-actions .wp-block-button__link{
  text-align:left!important;
}

/* Prevent Gutenberg flex alignment from overriding the hero CTA */
.kr-service-page__hero .wp-block-buttons.kr-service-page__hero-actions{
  justify-content:flex-start!important;
}

/* Mobile: still stays on the left, but can become full width */
@media (max-width:520px){
  .kr-service-page__hero-actions{
    justify-content:flex-start!important;
  }

  .kr-service-page__hero-actions .wp-block-button,
  .kr-service-page__hero-actions .wp-block-button__link{
    width:100%!important;
  }

  .kr-service-page__hero-actions .wp-block-button__link{
    text-align:center!important;
  }
}

/* =========================================================
   KING ROYAL — LAYANAN V6
   CTA MATCH HOMEPAGE
   ========================================================= */

/*
 * Make the "BUTUH BANTUAN?" CTA use the same visual rhythm
 * as the homepage final CTA.
 */
.kr-service-page__cta-section{
  width:100%!important;
  margin:0!important;
  padding:24px 0 84px!important;
  background:#fff!important;
}

.kr-service-page__cta{
  width:min(
    calc(100% - (var(--kr-service-side,24px) * 2)),
    var(--kr-service-container,1180px)
  )!important;
  max-width:var(--kr-service-container,1180px)!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding:36px 40px!important;

  border:1px solid #f0ddd0!important;
  border-radius:20px!important;

  background:#fff7f1!important;
}

/* Same grid behavior as homepage CTA */
.kr-service-page__cta > .wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;

  width:100%!important;
  max-width:none!important;

  margin:0!important;
  gap:52px!important;

  align-items:center!important;
}

.kr-service-page__cta .wp-block-column{
  min-width:0!important;
  width:auto!important;
  flex:none!important;
}

/* TEXT */
.kr-service-page__cta .kr3-kicker{
  margin:0 0 9px!important;
  color:var(--kr-orange,#f47b3a)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.kr-service-page__cta-title{
  max-width:700px!important;
  margin:0 0 12px!important;

  color:var(--kr-text,#182536)!important;

  font-size:32px!important;
  font-weight:800!important;
  line-height:1.22!important;
}

.kr-service-page__cta-copy{
  max-width:720px!important;
  margin:0!important;

  color:var(--kr-muted,#687382)!important;

  font-size:14px!important;
  line-height:1.75!important;
}

/* BUTTON COLUMN */
.kr-service-page__cta .wp-block-column:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;

  min-width:200px!important;
  padding-left:12px!important;
}

.kr-service-page__cta .wp-block-column:last-child .wp-block-buttons{
  width:auto!important;

  margin:0!important;

  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
}

.kr-service-page__cta .wp-block-column:last-child .wp-block-button{
  margin:0!important;
}

.kr-service-page__cta .wp-block-column:last-child .wp-block-button__link{
  min-width:190px!important;

  padding:14px 22px!important;

  white-space:nowrap!important;
  text-align:center!important;
}

/*
 * Prevent Gutenberg constrained width from shrinking the
 * internal columns.
 */
.kr-service-page__cta.is-layout-constrained > .wp-block-columns,
.kr-service-page__cta .is-layout-constrained > .wp-block-buttons{
  max-width:none!important;
}

/* TABLET */
@media (max-width:900px){
  .kr-service-page__cta{
    padding:32px!important;
  }

  .kr-service-page__cta > .wp-block-columns{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .kr-service-page__cta .wp-block-column:last-child{
    min-width:0!important;

    justify-content:flex-start!important;

    padding-left:0!important;
  }

  .kr-service-page__cta .wp-block-column:last-child .wp-block-buttons{
    justify-content:flex-start!important;
  }

  .kr-service-page__cta-title{
    font-size:29px!important;
  }
}

/* MOBILE */
@media (max-width:520px){
  .kr-service-page__cta-section{
    padding:18px 0 58px!important;
  }

  .kr-service-page__cta{
    padding:26px 22px!important;
  }

  .kr-service-page__cta-title{
    font-size:27px!important;
  }

  .kr-service-page__cta .wp-block-column:last-child,
  .kr-service-page__cta .wp-block-column:last-child .wp-block-buttons,
  .kr-service-page__cta .wp-block-column:last-child .wp-block-button,
  .kr-service-page__cta .wp-block-column:last-child .wp-block-button__link{
    width:100%!important;
  }

  .kr-service-page__cta .wp-block-column:last-child .wp-block-button__link{
    min-width:0!important;
  }
}

/* =========================================================
   KING ROYAL — HOMEPAGE CTA V2
   Improve "Siap mengurus dokumen Anda dengan lebih praktis?"
   ========================================================= */

/* Outer spacing */
.kr3-cta-wrap{
  padding:28px 0 88px!important;
}

/* CTA card */
.kr3-cta{
  width:min(
    calc(100% - (var(--kr-side,24px) * 2)),
    var(--kr-container,1180px)
  )!important;
  max-width:var(--kr-container,1180px)!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding:44px 52px!important;

  border:1px solid #f0ddd0!important;
  border-radius:22px!important;

  background:#fff7f1!important;
}

/*
 * Main improvement:
 * left copy gets available space,
 * button sits on the far right edge of the CTA container.
 */
.kr3-cta > .wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) max-content!important;

  width:100%!important;
  max-width:none!important;

  margin:0!important;
  gap:72px!important;

  align-items:center!important;
}

.kr3-cta > .wp-block-columns > .wp-block-column{
  width:auto!important;
  min-width:0!important;
  flex:none!important;
}

/* LEFT CONTENT */
.kr3-cta > .wp-block-columns > .wp-block-column:first-child{
  max-width:760px!important;
}

.kr3-cta-title{
  max-width:680px!important;

  margin:0 0 14px!important;

  color:var(--kr-text,#182536)!important;

  font-size:clamp(30px,3vw,40px)!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}

.kr3-cta-copy{
  max-width:690px!important;

  margin:0!important;

  color:var(--kr-muted,#687382)!important;

  font-size:15px!important;
  line-height:1.8!important;
}

/* RIGHT BUTTON */
.kr3-cta > .wp-block-columns > .wp-block-column:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;

  min-width:220px!important;
  padding-left:0!important;
}

.kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-buttons{
  width:auto!important;

  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;

  margin:0!important;
}

.kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-button{
  margin:0!important;
}

.kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-button__link{
  min-width:210px!important;

  padding:15px 24px!important;

  border-radius:10px!important;

  white-space:nowrap!important;
  text-align:center!important;

  font-size:14px!important;
  font-weight:750!important;
}

/* Prevent Gutenberg constrained layout shrinking the columns */
.kr3-cta.is-layout-constrained > .wp-block-columns,
.kr3-cta .is-layout-constrained > .wp-block-buttons{
  max-width:none!important;
}

/* TABLET */
@media (max-width:900px){
  .kr3-cta{
    padding:36px!important;
  }

  .kr3-cta > .wp-block-columns{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }

  .kr3-cta > .wp-block-columns > .wp-block-column:first-child{
    max-width:none!important;
  }

  .kr3-cta > .wp-block-columns > .wp-block-column:last-child{
    min-width:0!important;
    justify-content:flex-start!important;
  }

  .kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-buttons{
    justify-content:flex-start!important;
  }
}

/* MOBILE */
@media (max-width:520px){
  .kr3-cta-wrap{
    padding:18px 0 58px!important;
  }

  .kr3-cta{
    padding:28px 22px!important;
  }

  .kr3-cta-title{
    font-size:28px!important;
  }

  .kr3-cta > .wp-block-columns > .wp-block-column:last-child,
  .kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-buttons,
  .kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-button,
  .kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-button__link{
    width:100%!important;
  }

  .kr3-cta > .wp-block-columns > .wp-block-column:last-child .wp-block-button__link{
    min-width:0!important;
  }
}

/* =========================================================
   HEADER ACTIVE NAVIGATION STATE
   ========================================================= */

.kr-header-nav .wp-block-navigation-item__content:hover,
.kr-header-nav .current-menu-item > .wp-block-navigation-item__content,
.kr-header-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.kr-header-nav .wp-block-navigation-item__content[aria-current="page"],
.kr-header-nav .wp-block-navigation-item.is-active > .wp-block-navigation-item__content{
  color:var(--kr-header-orange,#f47b3a)!important;
}

.kr-header-nav .current-menu-item > .wp-block-navigation-item__content::after,
.kr-header-nav .current-menu-ancestor > .wp-block-navigation-item__content::after,
.kr-header-nav .wp-block-navigation-item__content[aria-current="page"]::after,
.kr-header-nav .wp-block-navigation-item.is-active > .wp-block-navigation-item__content::after{
  right:0!important;
}

/* =========================================================
   KING ROYAL — MOBILE NAVIGATION V2
   Gutenberg hamburger / responsive menu
   ========================================================= */

@media (max-width:781px){

  /* Header itself */
  .kr-header-main{
    position:relative!important;
    z-index:999!important;
  }

  .kr-header-main__inner{
    width:min(calc(100% - 32px),1180px)!important;
    min-height:72px!important;
    margin-inline:auto!important;
    padding:0!important;
  }

  /* Hamburger button */
  .kr-header-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:44px!important;
    height:44px!important;

    margin:0!important;
    padding:0!important;

    border:1px solid #e5e8ec!important;
    border-radius:11px!important;

    background:#fff!important;
    color:#0d2238!important;

    box-shadow:0 4px 14px rgba(13,34,56,.06)!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-open svg{
    width:22px!important;
    height:22px!important;
  }

  /* Full mobile overlay */
  .kr-header-nav .wp-block-navigation__responsive-container{
    position:fixed!important;
    inset:0!important;

    width:100%!important;
    height:100dvh!important;
    max-width:none!important;

    padding:0!important;

    background:#fff!important;
    color:#182536!important;

    z-index:99999!important;

    overflow-y:auto!important;
  }

  /* Inner mobile panel */
  .kr-header-nav .wp-block-navigation__responsive-container-content{
    width:100%!important;
    max-width:none!important;

    padding:92px 22px 28px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }

  /*
   * Close button: fixed at top-right with a visible shape.
   */
  .kr-header-nav .wp-block-navigation__responsive-container-close{
    position:absolute!important;
    top:18px!important;
    right:18px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:44px!important;
    height:44px!important;

    margin:0!important;
    padding:0!important;

    border:1px solid #e5e8ec!important;
    border-radius:11px!important;

    background:#f8f9fa!important;
    color:#0d2238!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-close svg{
    width:21px!important;
    height:21px!important;
  }

  /* Menu list */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation__container{
    width:100%!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;

    gap:0!important;

    margin:0!important;
    padding:0!important;
  }

  /* Every navigation item */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item{
    width:100%!important;

    margin:0!important;
    padding:0!important;

    border-bottom:1px solid #eceef0!important;
  }

  /* First item gets top border too */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item:first-child{
    border-top:1px solid #eceef0!important;
  }

  /* Links */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content{
    position:relative!important;

    display:flex!important;
    align-items:center!important;

    width:100%!important;

    margin:0!important;
    padding:18px 4px!important;

    color:#182536!important;

    font-size:17px!important;
    font-weight:700!important;
    line-height:1.35!important;

    text-decoration:none!important;

    transition:color .2s ease, padding-left .2s ease!important;
  }

  /* Remove desktop underline */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content::after{
    display:none!important;
  }

  /* Hover */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content:hover{
    padding-left:10px!important;
    color:#f47b3a!important;
  }

  /* Active page */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .current-menu-item > .wp-block-navigation-item__content,
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .current-menu-ancestor > .wp-block-navigation-item__content,
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content[aria-current="page"],
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item.is-active > .wp-block-navigation-item__content{
    color:#f47b3a!important;
    padding-left:14px!important;
  }

  /* Small orange active marker */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .current-menu-item > .wp-block-navigation-item__content::before,
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .current-menu-ancestor > .wp-block-navigation-item__content::before,
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content[aria-current="page"]::before,
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item.is-active > .wp-block-navigation-item__content::before{
    content:""!important;

    position:absolute!important;
    left:0!important;
    top:50%!important;

    width:4px!important;
    height:22px!important;

    border-radius:999px!important;

    background:#f47b3a!important;

    transform:translateY(-50%)!important;
  }

  /* Dropdown/submenu support */
  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation__submenu-container{
    position:static!important;

    width:100%!important;
    min-width:0!important;

    margin:0!important;
    padding:0 0 10px 14px!important;

    border:0!important;

    background:transparent!important;

    box-shadow:none!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item{
    border:0!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content{
    padding:10px 4px!important;
    color:#687382!important;
    font-size:14px!important;
    font-weight:600!important;
  }

  /* Don't show desktop consultation button in header row */
  .kr-header-cta{
    display:none!important;
  }

  /* Optional soft footer-like area after menu */
  .kr-header-nav .wp-block-navigation__responsive-container-content::after{
    content:"KING ROYAL • Biro Jasa Terpercaya & Berpengalaman";

    display:block;

    width:100%;

    margin-top:30px;
    padding-top:20px;

    border-top:1px solid #eceef0;

    color:#8a929d;

    font-size:11px;
    font-weight:700;
    line-height:1.6;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
}

/* SMALL MOBILE */
@media (max-width:420px){
  .kr-header-nav .wp-block-navigation__responsive-container-content{
    padding:86px 18px 24px!important;
  }

  .kr-header-nav .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content{
    padding-top:16px!important;
    padding-bottom:16px!important;
    font-size:16px!important;
  }
}