/*
Theme Name: CRIS Native
Theme URI: https://localhost/
Author: CRIS
Description: Native block theme for the CRIS FICA/KYC platform. Built for the WordPress Site Editor and compatible with native blocks.
Version: 1.3.5
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: cris-native
*/

:root{--cris-navy:#021024;--cris-blue:#052659;--cris-mid:#5483B3;--cris-light:#7DA0CA;--cris-pale:#C1E8FF}
html{scroll-behavior:smooth}
body{min-height:100vh}
a{text-underline-offset:.18em}
.cris-brand-logo{display:inline-flex;align-items:center;line-height:0}
.cris-brand-logo .custom-logo{display:block;width:auto;max-width:min(188px,42vw);height:42px;max-height:42px;object-fit:contain}
.wp-block-site-logo .custom-logo{display:block!important;width:auto!important;height:62px!important;max-width:min(190px,46vw)!important;object-fit:contain!important}
.wp-block-group:has(> .wp-block-site-logo) > .wp-block-site-title{display:none}
.wp-site-blocks{min-height:100vh}
.cris-shell{max-width:1200px;margin:0 auto}
.cris-card{background:var(--wp--preset--color--base);border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:18px;padding:clamp(18px,2.5vw,30px);box-shadow:0 10px 28px rgba(2,16,36,.06)}
.cris-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.cris-metric{border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:16px;padding:18px}
.cris-metric small{display:block;opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.cris-metric strong{display:block;font-size:clamp(26px,4vw,40px);margin-top:6px}
.cris-table-wrap{overflow:auto}
.cris-table{width:100%;border-collapse:collapse}
.cris-table th,.cris-table td{text-align:left;padding:12px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);vertical-align:top}
.cris-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.cris-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--wp--preset--color--contrast) 7%,transparent);font-size:.78rem;font-weight:800}
.cris-notice{padding:14px 16px;border-radius:12px;background:#eef7ff;border-left:4px solid #5483B3}
.cris-error{padding:14px 16px;border-radius:12px;background:#fff0f0;border-left:4px solid #b42318}
.cris-success{padding:14px 16px;border-radius:12px;background:#102a47;color:#dcecff;border:1px solid #28577f;border-left:4px solid #e7b734}
.cris-form{display:grid;gap:16px}
.cris-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.cris-form label{display:grid;gap:7px;font-weight:700}
.cris-form input,.cris-form select,.cris-form textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:10px;background:transparent;color:inherit}
.cris-form textarea{min-height:110px}
.cris-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:10px;border:0;background:#052659;color:white;text-decoration:none;font-weight:800;cursor:pointer}
.cris-button.secondary{background:transparent;color:inherit;border:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.cris-login-wrap{max-width:520px}
@media(max-width:700px){.cris-table{min-width:680px}}

/* CRIS application shell */
body{background:#071a2f;color:#dce9f5}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 0,rgba(42,105,157,.18),transparent 34%),#071a2f}
.wp-site-blocks>main{flex:1;width:100%;box-sizing:border-box}
.wp-site-blocks>main>.wp-block-post-content>h1,.wp-site-blocks>main>.wp-block-post-content>h2{color:#f3f8fd;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.15;font-weight:650;letter-spacing:-.025em}
.wp-site-blocks>main>.wp-block-post-content>p{color:#9db5cc}
header.wp-block-template-part>.wp-block-group{background:rgb(var(--cris-header-color-rgb,9,31,55))!important;border-color:#21415f!important;box-shadow:0 8px 28px rgba(0,8,20,.18)}
header.wp-block-template-part>.wp-block-group,header.wp-block-template-part>.wp-block-group *{color:#eaf3fb!important}
header.wp-block-template-part .wp-block-navigation a{color:#dce9f5!important;font-size:.94rem;font-weight:650}
header.wp-block-template-part .wp-block-navigation a:hover{color:#7cc8f2!important}
footer.wp-block-template-part{margin-top:auto}
footer.wp-block-template-part>.wp-block-group{background:rgb(var(--cris-footer-color-rgb,6,21,39))!important;border-color:#1b3b58!important;padding-top:24px!important;padding-bottom:24px!important;color:#91abc4}
footer.wp-block-template-part .wp-block-site-title{color:#f0f7fd;font-size:1rem;font-weight:650}
footer.wp-block-template-part p{margin:0;color:#7896b2}
body .wp-site-blocks main .wp-block-group.has-base-background-color{background:#102a47!important;color:#eaf2fb!important}
body .wp-site-blocks main .wp-block-group.has-base-background-color :where(h1,h2,h3,h4,h5,h6,strong){color:#f7fbff!important}
body .cris-card{background:#102a47!important;color:#eaf2fb!important}
body .cris-card :where(h1,h2,h3,h4,h5,h6,strong,th,td,label,summary){color:#edf6ff}
body .cris-card input,body .cris-card select,body .cris-card textarea{background:#091f37!important;color:#f5f9fd!important;border-color:#315a80!important}
.cris-api-doc{max-width:980px;margin:0 auto;color:#c9d9e8}.cris-api-doc h1,.cris-api-doc h2,.cris-api-doc h3{color:#f4f9ff}.cris-api-doc h1{margin:.1em 0 .25em}.cris-api-doc h2{margin:0 0 .55em;font-size:clamp(1.45rem,2.5vw,2rem)}.cris-api-doc h3{font-size:1.08rem;margin:1.25em 0 .4em}.cris-api-eyebrow{color:#7cc8f2!important;font-weight:800;letter-spacing:.12em;font-size:.77rem}.cris-api-lead{font-size:1.17rem;max-width:780px;color:#b8cee2}.cris-api-section{margin:28px 0;padding:clamp(18px,3vw,28px);background:#102a47;border:1px solid #285071;border-radius:18px;box-shadow:0 12px 24px rgba(0,7,18,.16)}.cris-api-section p,.cris-api-section li{color:#c9d9e8}.cris-api-section li+li{margin-top:.45em}.cris-api-doc code{color:#d9efff;background:#091f37;border:1px solid #315a80;border-radius:5px;padding:.12em .35em;font-size:.9em}.cris-api-doc pre{overflow:auto;margin:14px 0;padding:16px 18px;background:#061527;border:1px solid #315a80;border-radius:12px;line-height:1.55}.cris-api-doc pre code{padding:0;border:0;background:transparent;color:#e5f4ff;white-space:pre}.cris-api-callout{margin:20px 0;padding:16px 18px;border:1px solid #3d7399;border-left:4px solid #7cc8f2;border-radius:10px;background:#0b2945;color:#dff1ff}.cris-api-toc{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.cris-api-toc a{padding:8px 12px;border:1px solid #315a80;border-radius:999px;background:#0d2944;color:#d8edff!important;text-decoration:none;font-size:.9rem}.cris-api-toc a:hover{background:#174166}.cris-api-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cris-api-grid>div{padding:14px 16px;background:#0c223b;border:1px solid #285071;border-radius:12px}.cris-api-grid h3{margin-top:0}
@media(max-width:700px){.wp-site-blocks>main{padding-top:28px!important;padding-left:16px!important;padding-right:16px!important}footer.wp-block-template-part>.wp-block-group{padding-left:16px!important;padding-right:16px!important}}

/* Configurable blurred Media Library background and glass interface. */
body.cris-background-enabled{position:relative;background:#041426;isolation:isolate}
.cris-background-carousel{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#06182a}
.cris-background-slide{position:absolute;inset:-8%;background-position:center;background-size:cover;filter:blur(var(--cris-bg-blur,28px)) saturate(1.18);opacity:0;transform:scale(1.1);transition:opacity var(--cris-bg-fade,5s) ease-in-out,transform calc(var(--cris-bg-fade,5s) * 4) ease-out;will-change:opacity,transform}
.cris-background-slide.is-active{opacity:var(--cris-bg-image-opacity,.42)}
.cris-transition-slow_zoom .cris-background-slide{transform:scale(1.06)}
.cris-transition-slow_zoom .cris-background-slide.is-active{transform:scale(1.16)}
.cris-transition-drift .cris-background-slide{transform:scale(1.13) translate3d(-2.5%,-1.5%,0)}
.cris-transition-drift .cris-background-slide.is-active{transform:scale(1.13) translate3d(2.5%,1.5%,0)}
.cris-background-colour{position:absolute;inset:0;background:radial-gradient(circle at 78% 5%,rgba(61,139,190,.24),transparent 38%),linear-gradient(145deg,rgba(var(--cris-overlay-color-rgb,2,15,30),var(--cris-bg-overlay-opacity,.68)),rgba(var(--cris-overlay-color-rgb,2,15,30),calc(var(--cris-bg-overlay-opacity,.68) + .1)));backdrop-filter:saturate(.9)}
body.cris-background-enabled>.wp-site-blocks{position:relative;z-index:1;background:transparent!important}
body.cris-background-enabled header.wp-block-template-part>.wp-block-group{background:rgba(var(--cris-header-color-rgb,5,25,45),calc(var(--cris-glass-alpha,.82) + .05))!important;backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 10px 32px rgba(0,8,20,.24),inset 0 1px rgba(255,255,255,.07)}
body.cris-background-enabled footer.wp-block-template-part>.wp-block-group{background:rgba(var(--cris-footer-color-rgb,4,19,35),calc(var(--cris-glass-alpha,.82) + .06))!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px rgba(255,255,255,.05)}
body.cris-background-enabled .cris-card,body.cris-background-enabled .cris-api-section{background:linear-gradient(145deg,rgba(20,52,82,var(--cris-glass-alpha,.82)),rgba(8,31,54,var(--cris-glass-alpha,.82)))!important;border-color:rgba(129,185,225,.23)!important;backdrop-filter:blur(24px) saturate(1.22);-webkit-backdrop-filter:blur(24px) saturate(1.22);box-shadow:0 18px 44px rgba(0,7,18,.26),inset 0 1px rgba(255,255,255,.09),inset 0 -1px rgba(0,0,0,.2)}
body.cris-background-enabled :is(.cris-metric,.cris-screen,.cris-stage,.cris-doc,.cris-admin-grid>div,.cris-api-key-card,.cris-doc-meta>div,.cris-api-grid>div){background:rgba(5,28,50,calc(var(--cris-glass-alpha,.82) - .12))!important;border-color:rgba(117,177,219,.22)!important;box-shadow:inset 0 1px rgba(255,255,255,.045)}
body.cris-background-enabled .cris-form :is(input,select,textarea),body.cris-background-enabled .cris-card :is(input,select,textarea){background:rgba(3,22,40,.7)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.cris-background-enabled :is(.cris-notice,.cris-success,.cris-customer-message,.cris-auto-refresh){background:rgba(10,42,69,calc(var(--cris-glass-alpha,.82) - .06))!important;color:#dcecff!important;border-color:rgba(108,181,228,.42)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 28px rgba(0,8,20,.18),inset 0 1px rgba(255,255,255,.06)}
body.cris-background-enabled :is(.cris-notice,.cris-success,.cris-customer-message,.cris-auto-refresh) a{color:#8ed8ff!important}
body.cris-background-enabled .wp-block-navigation__responsive-container.is-menu-open{background:rgba(4,20,37,.96)!important;color:#eaf3fb!important}
.cris-button:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.45);box-shadow:none}
@media(prefers-reduced-motion:reduce){.cris-background-slide{transition:none!important;transform:scale(1.1)!important}}

/* Compact desktop navigation and a full mobile navigation drawer. */
header.wp-block-template-part{position:relative;z-index:10000}header.wp-block-template-part>.cris-site-header{position:relative;z-index:10000;padding-top:16px!important;padding-bottom:16px!important}header.wp-block-template-part .cris-header-inner{width:100%;min-height:54px}.cris-header-primary-links{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,42px);margin-left:auto}.cris-header-primary-links a,.cris-account-menu nav a{color:#dce9f5!important;text-decoration:none;font-size:.94rem;font-weight:600}.cris-header-primary-links a:hover,.cris-account-menu nav a:hover{color:#7ee1d8!important}.cris-account-menu{position:relative;margin-left:24px;z-index:10001}.cris-account-menu summary{display:grid;gap:5px;width:42px;height:40px;padding:0;border:0;border-radius:11px;place-content:center;cursor:pointer;list-style:none;background:rgba(116,196,211,.12);box-shadow:inset 0 1px rgba(255,255,255,.1)}.cris-account-menu summary::-webkit-details-marker{display:none}.cris-account-menu summary span{display:block;width:19px;height:2px;border-radius:99px;background:#dce9f5}.cris-account-menu nav{position:absolute;right:0;top:calc(100% + 12px);z-index:10002;display:grid;gap:3px;min-width:180px;padding:10px;border-radius:14px;background:rgba(4,25,44,.97);box-shadow:0 18px 42px rgba(0,7,18,.35),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(20px);pointer-events:auto}.cris-account-menu nav a{position:relative;z-index:10003;padding:10px 12px;border-radius:8px}.cris-account-menu nav a:hover{background:rgba(93,210,201,.1)}.cris-mobile-only{display:none!important}
@media(max-width:700px){header.wp-block-template-part>.cris-site-header{padding-left:18px!important;padding-right:18px!important}.cris-header-primary-links{display:none}.cris-account-menu{margin-left:auto}.cris-account-menu[open]::before{content:'';position:fixed;inset:0;z-index:10001;background:rgba(1,12,24,.68);backdrop-filter:blur(7px)}.cris-account-menu[open] nav{position:fixed;inset:16px;z-index:10002;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:7px;min-width:0;padding:48px 28px 28px;border-radius:22px;background:rgba(4,22,39,.985)}.cris-account-menu[open] summary{position:fixed;right:27px;top:27px;z-index:10003}.cris-account-menu nav a{padding:14px 16px;font-size:1.08rem}.cris-account-menu[open] .cris-mobile-only{display:block!important}}

/* Final header alignment and a deliberately opaque mobile drawer. */
header.wp-block-template-part .cris-header-inner{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:0!important}header.wp-block-template-part .cris-header-inner>.wp-block-site-logo{margin-right:auto!important}.cris-header-primary-links{margin-left:0!important;margin-right:24px!important;justify-content:flex-end!important}.cris-account-menu[open]>nav{background:rgba(3,20,37,.985)!important}
@media(max-width:700px){header.wp-block-template-part .cris-header-inner>.wp-block-site-logo{margin-right:auto!important}.cris-header-primary-links{display:none!important}.cris-account-menu[open]::before{top:86px!important;background:rgba(1,12,24,.64)!important}.cris-account-menu[open]>summary{position:relative!important;right:auto!important;top:auto!important}.cris-account-menu[open]>nav{position:fixed!important;top:86px!important;right:0!important;bottom:0!important;left:0!important;min-height:calc(100dvh - 86px)!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:10px!important;padding:32px 34px!important;border-radius:0!important;background:rgba(3,20,37,.99)!important;box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.08)!important}.cris-account-menu[open]>nav a{display:block!important;position:relative!important;z-index:10004!important;width:min(320px,100%)!important;padding:14px 18px!important;text-align:center!important}.cris-account-menu[open]>nav .cris-mobile-only{display:block!important}}

/* Refined borderless glass controls, calmer metrics and branded footer. */
body .cris-card,body .cris-api-section,body.cris-background-enabled .cris-card,body.cris-background-enabled .cris-api-section{border:0!important;background:linear-gradient(145deg,rgba(22,54,82,var(--cris-glass-alpha,.82)),rgba(7,28,49,var(--cris-glass-alpha,.82)))!important;box-shadow:0 22px 52px rgba(0,8,20,.22),inset 0 1px rgba(255,255,255,.095),inset 0 -1px rgba(0,0,0,.16)}
body :is(.cris-metric,.cris-screen,.cris-stage,.cris-doc,.cris-admin-grid>div,.cris-api-key-card,.cris-doc-meta>div,.cris-api-grid>div),body.cris-background-enabled :is(.cris-metric,.cris-screen,.cris-stage,.cris-doc,.cris-admin-grid>div,.cris-api-key-card,.cris-doc-meta>div,.cris-api-grid>div){border:0!important;background:linear-gradient(145deg,rgba(19,49,76,.58),rgba(4,25,44,.5))!important;box-shadow:inset 0 1px rgba(255,255,255,.055),0 12px 26px rgba(0,8,20,.12)}
body .cris-metric{padding:18px 20px}
body .cris-metric small,body .cris-summary span,body .cris-screen span{color:#81adc8!important;font-size:.68rem!important;font-weight:600!important;letter-spacing:.095em}
body .cris-metric strong{font-size:clamp(1.08rem,1.7vw,1.48rem)!important;line-height:1.32!important;font-weight:430!important;color:#c8d8e5!important;letter-spacing:-.012em}
body .cris-summary strong,body .cris-screen strong{font-size:.98rem!important;font-weight:480!important;color:#d3e0ea!important}
body .cris-button,body button.cris-button{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(42,150,176,.62),rgba(25,111,150,.58))!important;color:#effcff!important;border:1px solid rgba(163,235,236,.22)!important;backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35);box-shadow:inset 0 1px rgba(255,255,255,.2),0 8px 20px rgba(0,15,28,.16)!important;font-weight:600!important;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
body .cris-button:hover,body button.cris-button:hover{background:linear-gradient(135deg,rgba(57,172,191,.74),rgba(36,129,163,.7))!important;box-shadow:inset 0 1px rgba(255,255,255,.26),0 10px 24px rgba(0,15,28,.2)!important;transform:translateY(-1px);filter:none}
body .cris-button.secondary{background:linear-gradient(135deg,rgba(50,104,126,.38),rgba(24,68,94,.35))!important;border-color:rgba(159,218,226,.16)!important}
.cris-brand-logo .custom-logo{max-width:min(176px,44vw);height:52px;max-height:52px}
footer.wp-block-template-part>.wp-block-group.cris-footer-shell{padding-top:44px!important;padding-bottom:32px!important;background:rgba(var(--cris-footer-color-rgb,3,18,33),calc(var(--cris-glass-alpha,.82) + .07))!important;border:0!important;backdrop-filter:blur(26px) saturate(1.15);-webkit-backdrop-filter:blur(26px) saturate(1.15);box-shadow:0 -18px 45px rgba(0,8,20,.15),inset 0 1px rgba(255,255,255,.055)}
.cris-footer-inner{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(320px,1fr);gap:34px 60px;align-items:start;width:100%;max-width:1200px;margin:0 auto;color:#a8bfd1}
.cris-footer-brand img{display:block;width:min(330px,76vw);height:auto;max-height:156px;object-fit:contain;object-position:left center;filter:drop-shadow(0 12px 26px rgba(0,8,20,.2))}
.cris-footer-brand p{max-width:440px;margin:14px 0 0;color:#8faabd!important;font-size:.92rem;line-height:1.6}
.cris-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:30px}
.cris-footer-nav>div{display:grid;align-content:start;gap:9px}.cris-footer-nav strong{margin-bottom:4px;color:#dceaf2;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.cris-footer-nav a{color:#91b6c9!important;text-decoration:none;font-size:.9rem}.cris-footer-nav a:hover{color:#91e3df!important}
.cris-footer-nav>.cris-footer-legal{padding:18px 20px;background:#fff;color:#111;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.18)}.cris-footer-nav>.cris-footer-legal strong,.cris-footer-nav>.cris-footer-legal a{color:#111!important}.cris-footer-nav>.cris-footer-legal a:hover{color:#000!important;text-decoration:underline}
.cris-footer-copy{grid-column:1/-1;margin:0;padding-top:22px;border-top:1px solid rgba(139,190,211,.12);color:#66859a!important;font-size:.78rem}
@media(max-width:760px){.cris-footer-inner{grid-template-columns:1fr}.cris-footer-brand img{width:min(290px,82vw)}.cris-footer-nav{grid-template-columns:1fr 1fr}.cris-brand-logo .custom-logo{height:46px;max-height:46px;max-width:150px}.wp-block-site-logo .custom-logo{height:52px!important;max-width:150px!important}}

/* Legal pages are deliberately presented as clear, printable documents. */
body.cris-legal-page .wp-site-blocks>main{display:block;width:min(1500px,calc(100% - 56px));min-height:0;margin:64px auto 76px!important;padding:clamp(42px,6vw,92px)!important;background:#fff!important;background-image:none!important;color:#111!important;border-radius:32px;box-shadow:0 28px 70px rgba(0,8,20,.22)}
body.cris-legal-page .wp-site-blocks>main .wp-block-post-content,body.cris-legal-page .wp-site-blocks>main :is(p,li,blockquote,td,th,figcaption){color:#171717!important}
body.cris-legal-page .wp-site-blocks>main :is(h1,h2,h3,h4,h5,h6,strong){color:#071a2f!important}
body.cris-legal-page .wp-site-blocks>main h1,body.cris-legal-page .wp-site-blocks>main h2{font-size:clamp(2.1rem,4vw,3.25rem)!important;line-height:1.14!important;margin-top:0!important;margin-bottom:1.15em!important}
body.cris-legal-page .wp-site-blocks>main h3{font-size:clamp(1.35rem,2.3vw,1.8rem)!important;margin-top:2.1em!important;color:#071a2f!important}
body.cris-legal-page .wp-site-blocks>main p,body.cris-legal-page .wp-site-blocks>main li{max-width:1120px;font-size:1.04rem;line-height:1.78}
body.cris-legal-page .wp-site-blocks>main a{color:#073b70!important;text-decoration:underline}
@media(max-width:700px){body.cris-legal-page .wp-site-blocks>main{width:calc(100% - 28px);margin:28px auto 42px!important;padding:32px 24px!important;border-radius:22px}body.cris-legal-page .wp-site-blocks>main h1,body.cris-legal-page .wp-site-blocks>main h2{font-size:2rem!important}}
