/* Kadiu Law Office · Premium finishing pass · October 2026 */

/* Keep existing Elementor page geometry. Polish the shared footer only. */
.site-footer {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:0 var(--pad) 30px;
  background:radial-gradient(ellipse 75% 140% at 105% -25%, rgba(32,97,104,.30), transparent 65%), #062831;
  border-top:1px solid rgba(201,169,110,.28);
}
.site-footer::before {
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(201,169,110,.58) 29%,rgba(201,169,110,.18) 60%,transparent);
  pointer-events:none;
}
.site-footer a {transition:color .24s ease, border-color .24s ease, transform .24s ease;}
.kadiu-footer-cta {
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:36px;
  min-height:217px;padding:54px 0 49px;
  border-bottom:1px solid rgba(217,201,176,.19);
}
.kadiu-footer-cta-copy {max-width:770px;}
.kadiu-footer-overline {
  display:inline-flex;align-items:center;gap:11px;
  font:600 11px/1.3 var(--sans);letter-spacing:.20em;color:#d9bd8a;
}
.kadiu-gold-dot {width:6px;height:6px;display:inline-block;background:#d5b77f;border-radius:50%;box-shadow:0 0 0 5px rgba(201,169,110,.10);}
.kadiu-footer-headline {
  margin:13px 0 0;
  font:400 clamp(38px,4.5vw,63px)/1.08 var(--serif);
  letter-spacing:-.025em;color:#f4efe5;
}
.kadiu-footer-cta-btn {
  flex-shrink:0;display:inline-flex;align-items:center;gap:32px;
  padding:8px 8px 8px 25px;min-height:58px;
  border:1px solid rgba(201,169,110,.65);border-radius:100px;
  color:#f8f2e9;text-decoration:none;
  font:600 13px/1.3 var(--sans);letter-spacing:.015em;
  background:rgba(255,255,255,.025);
}
.kadiu-footer-cta-btn svg {width:41px;height:41px;padding:12px;border-radius:50%;background:#c9a96e;color:#072f38;transition:transform .3s ease,background .3s ease;}
.kadiu-footer-cta-btn:hover {color:#f8f2e9;background:rgba(201,169,110,.10);border-color:#e6c58c;}
.kadiu-footer-cta-btn:hover svg {transform:rotate(-35deg);background:#e6c58c;}
.site-footer .footer-top {
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;column-gap:24px;row-gap:34px;padding:66px 0 62px;
}
.site-footer .footer-brand {grid-column:1 / span 5;display:flex;gap:22px;min-width:0;}
.site-footer .footer-brand img {width:min(250px,100%);height:auto;object-fit:contain;}
.site-footer .footer-brand .fine {max-width:340px;color:#a7c0c3;font-size:14px;line-height:1.8;}
.site-footer .footer-col, .site-footer .footer-col:nth-of-type(1) {
  grid-column:7 / span 2;align-items:flex-start;gap:14px;
  color:#cddbd9;font:400 14px/1.5 var(--sans);
}
.site-footer .footer-col.wide,.site-footer .footer-col:nth-of-type(2) {grid-column:10 / span 3;}
.site-footer .footer-col .k {
  display:block;margin:0 0 15px;color:#d5b77f;
  font:600 11px/1.3 var(--sans);letter-spacing:.20em;text-transform:uppercase;
}
.site-footer .footer-col a,.site-footer .footer-col>span:not(.k) {
  position:relative;display:inline-block;color:#d4e0dd;text-decoration:none;
  font:400 14px/1.65 var(--sans);overflow-wrap:anywhere;
}
.site-footer .footer-col a:hover {color:#e9c993;transform:translateX(4px);}
.site-footer .footer-col a[aria-current=page] {color:#e9c993;}
.site-footer .footer-bottom {
  display:flex;justify-content:space-between;align-items:center;
  margin:0;padding:24px 90px 0 0;gap:16px;
  border-top:1px solid rgba(217,201,176,.17);
  color:#9eb5b8;font:400 12px/1.65 var(--sans);
}
.site-footer .footer-bottom span:last-child {max-width:none;text-align:right;}
.site-footer .kadiu-footer-credit a {color:#e5c388;text-decoration:none;border-bottom:1px solid rgba(229,195,136,.44);padding-bottom:2px;}
.site-footer .kadiu-footer-credit a:hover {color:#fff3d4;border-color:#fff3d4;}

/* WhatsApp is a global WordPress footer element, independent of individual Elementor pages. */
.kadiu-floating-whatsapp {
  position:fixed !important;right:24px;bottom:25px;z-index:2147483000 !important;
  pointer-events:auto !important;touch-action:manipulation;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;
  background:#25d366;color:white;text-decoration:none;
  box-shadow:0 8px 26px rgba(4,36,21,.25),0 0 0 4px rgba(37,211,102,.13);
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.kadiu-floating-whatsapp .kadiu-whatsapp-svg {width:32px;height:32px;display:block;fill:currentColor;pointer-events:none;flex:none;}
.kadiu-floating-whatsapp:hover {background:#1fbe59;color:#fff;transform:translateY(-4px);box-shadow:0 12px 32px rgba(4,36,21,.32),0 0 0 6px rgba(37,211,102,.12);}
.kadiu-whatsapp-tooltip {
  position:absolute;right:calc(100% + 13px);top:50%;transform:translate(6px,-50%);
  padding:8px 13px;background:#08333d;color:#fff;white-space:nowrap;
  font:500 12px/1.4 var(--sans);border:1px solid rgba(201,169,110,.24);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;
}
.kadiu-floating-whatsapp:hover .kadiu-whatsapp-tooltip,.kadiu-floating-whatsapp:focus-visible .kadiu-whatsapp-tooltip {opacity:1;visibility:visible;transform:translate(0,-50%);}
.back-top {bottom:101px;right:31px;z-index:43;}
html.nav-open .kadiu-floating-whatsapp,html.nav-open .back-top {opacity:0;visibility:hidden;pointer-events:none;}

/* Navigation additions only appear at the mobile / tablet breakpoint. */
.kadiu-menu-intro,.kadiu-menu-contact {display:none;}
.kadiu-menu-backdrop {display:none;}

@media(max-width:1024px) {
  html.nav-open,html.nav-open body {overflow:hidden;}
  .kadiu-menu-backdrop {
    display:block;position:fixed;inset:0;z-index:49;
    opacity:0;visibility:hidden;pointer-events:none;
    background:rgba(2,20,26,.70);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
    transition:opacity .42s ease,visibility .42s;
  }
  html.nav-open .kadiu-menu-backdrop {opacity:1;visibility:visible;pointer-events:auto;}
  .site-header {z-index:50;}
  html.nav-open .site-header {background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;}
  html.nav-open .site-header .brand {opacity:0;pointer-events:none;}
  .site-header .menu-toggle {
    display:block;position:relative;z-index:60;flex-shrink:0;
    width:46px;height:46px;border:1px solid rgba(201,169,110,.52);border-radius:50%;
    background:rgba(5,42,51,.54);transition:border .3s ease,background .3s ease;
  }
  .site-header .menu-toggle:hover {background:rgba(201,169,110,.15);border-color:#d8bd8a;}
  .site-header .menu-toggle span {left:11px;right:11px;background:#efdfc5;}
  .site-header .menu-toggle[aria-expanded=true] {background:rgba(201,169,110,.12);}
  .site-header .site-nav {
    --kadiu-panel-width:min(450px,calc(100vw - 34px));
    position:fixed!important;inset:0 0 0 auto!important;z-index:55!important;
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;width:var(--kadiu-panel-width);height:100vh;height:100dvh;
    margin:0;padding:98px 34px 31px!important;
    overflow-y:auto;overscroll-behavior:contain;
    background:
      radial-gradient(circle at 92% 16%,rgba(201,169,110,.13),transparent 34%),
      linear-gradient(151deg,#0e4752 0%,#082e39 56%,#062831 100%);
    box-shadow:-25px 0 80px rgba(0,0,0,.33);border-left:1px solid rgba(201,169,110,.42);
    opacity:1;visibility:hidden;pointer-events:none;
    transform:translateX(105%);
    transition:transform .52s cubic-bezier(.2,.8,.2,1),visibility .52s;
    counter-reset:kadiu-menu;
  }
  html.nav-open .site-header .site-nav {transform:translateX(0);visibility:visible;pointer-events:auto;}
  .site-nav::before {
    content:"K";position:absolute;top:18%;right:-22px;
    font:400 300px/.8 var(--serif);color:rgba(201,169,110,.035);
    pointer-events:none;z-index:0;
  }
  .site-nav .kadiu-menu-intro {
    position:relative;display:flex;flex-direction:column;gap:2px;
    margin:0 0 14px;padding:0 0 23px;
    border-bottom:1px solid rgba(229,206,173,.27);
  }
  .kadiu-menu-eyebrow {color:#e6c78e;font:600 10px/1.3 var(--sans);letter-spacing:.22em;}
  .kadiu-menu-title {color:#faf5eb;font:400 40px/1.1 var(--serif);letter-spacing:-.02em;}
  .kadiu-menu-index {position:absolute;right:0;bottom:24px;color:#9bb7b9;font:500 10px/1 var(--sans);letter-spacing:.1em;}
  .site-header .site-nav>a:not(.btn):not(.language) {
    counter-increment:kadiu-menu;
    display:flex;align-items:center;position:relative;min-height:58px;
    width:100%;padding:11px 37px 11px 42px!important;
    font:400 clamp(25px,7vw,31px)/1.1 var(--serif)!important;
    letter-spacing:-.02em;color:#f6f0e5!important;
    border-bottom:1px solid rgba(221,216,194,.13);
    transition:color .23s ease,padding .23s ease,background .23s ease;
  }
  .site-header .site-nav>a:not(.btn):not(.language)::before {
    content:counter(kadiu-menu,decimal-leading-zero);position:absolute;left:0;top:50%;transform:translateY(-50%);
    font:600 10px/1 var(--sans);letter-spacing:.06em;color:#d4b37d;
  }
  .site-header .site-nav>a:not(.btn):not(.language)::after {
    content:"↗";position:absolute;right:0;left:auto;top:50%;bottom:auto;
    width:auto;height:auto;background:none;transform:translateY(-50%);opacity:.66;
    font:400 19px/1 var(--sans);color:#d8bd8a;
    transition:transform .24s ease,opacity .24s ease;
  }
  .site-header .site-nav>a:not(.btn):not(.language):hover,
  .site-header .site-nav>a:not(.btn):not(.language)[aria-current=page] {color:#e9c68d!important;padding-left:48px!important;}
  .site-header .site-nav>a:not(.btn):not(.language):hover::after {transform:translate(3px,-55%);opacity:1;}
  .site-header .site-nav>a.language {
    position:absolute;right:93px;top:34px;display:inline-flex;align-items:center;justify-content:center;
    min-width:51px;height:31px;margin:0;padding:0 10px!important;
    border:1px solid rgba(201,169,110,.5);border-radius:50px;
    font:600 11px/1 var(--sans)!important;letter-spacing:.1em;color:#f6f0e5!important;
    background:rgba(255,255,255,.04);
  }
  .site-header .site-nav>a.language::after {display:none!important;}
  .site-header .site-nav>a.btn {
    width:100%;margin:22px 0 0;min-height:56px;height:auto;
    display:inline-flex;justify-content:space-between;gap:15px;
    padding:11px 18px 11px 22px;
    border-radius:3px;border:1px solid #d9bb83;
    background:#d2b47c;color:#082f39;font:600 14px/1.2 var(--sans)!important;
    text-align:left;box-shadow:none;
  }
  .site-header .site-nav>a.btn svg {width:20px;height:20px;}
  .site-header .site-nav>a.btn:hover {background:#ead09d;color:#082f39;}
  .site-header .site-nav .kadiu-menu-contact {
    position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;
    margin-top:auto;padding-top:23px;
    border-top:1px solid rgba(229,206,173,.25);
    font:400 13px/1.7 var(--sans);color:#acc4c5;
  }
  .kadiu-menu-contact-label {margin-bottom:6px;font:600 10px/1.3 var(--sans);letter-spacing:.20em;color:#d3b479;}
  .site-header .site-nav .kadiu-menu-contact a {color:#f5ece1;text-decoration:none;font:400 21px/1.4 var(--serif);}
  .site-header .site-nav .kadiu-menu-contact a:hover {color:#e5c68e;}
  .site-footer .footer-top {grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 24px;padding-top:51px;padding-bottom:51px;}
  .site-footer .footer-brand {grid-column:1/-1;}
  .site-footer .footer-col,.site-footer .footer-col:nth-of-type(1) {grid-column:1 / span 2;}
  .site-footer .footer-col.wide,.site-footer .footer-col:nth-of-type(2) {grid-column:4 / span 3;}
  .kadiu-footer-cta {padding-top:50px;padding-bottom:45px;}
}
@media(max-width:680px) {
  .site-footer {padding:0 23px 26px;}
  .kadiu-footer-cta {display:block;min-height:0;padding:47px 0 43px;}
  .kadiu-footer-headline {font-size:clamp(39px,10vw,49px);line-height:1.06;margin-top:15px;}
  .kadiu-footer-cta-btn {margin-top:27px;min-height:53px;gap:26px;padding-left:21px;}
  .kadiu-footer-cta-btn svg {width:37px;height:37px;padding:11px;}
  .site-footer .footer-top {grid-template-columns:1fr 1fr;gap:37px 20px;padding:46px 0 42px;}
  .site-footer .footer-brand {grid-column:1/-1;gap:17px;}
  .site-footer .footer-brand img {width:221px;}
  .site-footer .footer-brand .fine {max-width:320px;}
  .site-footer .footer-col,.site-footer .footer-col:nth-of-type(1) {grid-column:1/2;gap:12px;}
  .site-footer .footer-col.wide,.site-footer .footer-col:nth-of-type(2) {grid-column:2/3;gap:12px;}
  .site-footer .footer-col .k {margin-bottom:9px;}
  .site-footer .footer-col a,.site-footer .footer-col>span:not(.k) {font-size:13px;}
  .site-footer .footer-bottom {flex-direction:column;align-items:flex-start;gap:9px;padding:23px 0 50px;}
  .site-footer .footer-bottom span:last-child {text-align:left;}
  .site-header .site-nav {--kadiu-panel-width:min(420px,calc(100vw - 24px));padding:96px 28px 25px!important;}
  .site-nav .kadiu-menu-title {font-size:38px;}
  .site-nav .kadiu-menu-intro {padding-bottom:17px;margin-bottom:8px;}
  .site-header .site-nav>a:not(.btn):not(.language) {min-height:56px;font-size:29px!important;}
  .site-header .site-nav>a.language {right:85px;top:29px;}
  .kadiu-floating-whatsapp {width:55px;height:55px;right:16px;bottom:18px;}
  .kadiu-floating-whatsapp .kadiu-whatsapp-svg {width:30px;height:30px;}
  .back-top {bottom:91px;right:22px;}
}
@media(max-width:370px) {
  .site-footer .footer-top {grid-template-columns:1fr;}
  .site-footer .footer-brand,.site-footer .footer-col,.site-footer .footer-col:nth-of-type(1),.site-footer .footer-col.wide,.site-footer .footer-col:nth-of-type(2) {grid-column:1/-1;}
  .site-header .site-nav {padding:89px 22px 20px!important;}
  .site-header .site-nav>a:not(.btn):not(.language) {min-height:51px;font-size:26px!important;}
  .kadiu-menu-contact-label {margin-bottom:2px;}
}
@media(prefers-reduced-motion:reduce) {
  .site-header .site-nav,.kadiu-menu-backdrop,.kadiu-floating-whatsapp,.kadiu-footer-cta-btn {transition-duration:.01ms!important;}
}

/* V4: browser-native, full-viewport WhatsApp hit target on every page. */
.kadiu-floating-whatsapp:focus-visible {outline:3px solid #fff;outline-offset:4px;}
@media print {.kadiu-floating-whatsapp{display:none!important;}}
