/* =========================================================
   RADIO ILLUMINATI — SHARED CLEAN CANVAS / v0.7
   Header calibrated from the v0.6 HOME pixel-match child.
   ========================================================= */
:root{color-scheme:dark;}
html,body{margin:0;padding:0;background:#000;color:#fff;}
body.radio-illuminati-contact{overflow-x:hidden;font-family:Arial,Helvetica,sans-serif;}
*,*::before,*::after{box-sizing:border-box;}
img,video,canvas,iframe{max-width:100%;}
.ri-skip-link{position:fixed;left:12px;top:12px;z-index:100000;padding:10px 14px;background:#fff;color:#000;transform:translateY(-180%);transition:transform .2s ease;text-decoration:none;font-weight:700;}
.ri-skip-link:focus{transform:none;}

/* NAV — same calibrated Radio Illuminati header as HOME v0.6 */
.ri-site-nav{
  position:relative;
  z-index:1000;
  width:100%;
  height:54px;
  min-height:54px;
  display:flex;
  align-items:center;
  padding:0 18px;
  background:#000;
  border-bottom:3px solid #9c0000;
}
.ri-nav-mark{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  color:#fff;
  text-decoration:none;
}
.ri-nav-logo{display:block;width:42px;height:auto;}
.ri-nav-links{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  white-space:nowrap;
}
.ri-nav-links a{
  position:relative;
  color:rgba(255,255,255,.94);
  text-decoration:none;
  font-size:20px;
  font-weight:400;
  line-height:1;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:color .16s ease;
}
.ri-nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:.15em;
  bottom:-10px;
  height:2px;
  background:#9c0000;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .16s ease;
}
.ri-nav-links a:hover,
.ri-nav-links a:focus-visible{color:#9c0000;}
.ri-nav-links a:hover::after,
.ri-nav-links a:focus-visible::after{transform:scaleX(1);}
.ri-nav-links a[aria-current="page"]{color:rgba(255,255,255,.94);}
.ri-nav-links a[aria-current="page"]::after{transform:scaleX(0);}
.ri-nav-mobile{display:none;position:relative;margin-left:auto;}
.ri-nav-mobile summary{list-style:none;cursor:pointer;color:#fff;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;}
.ri-nav-mobile summary::-webkit-details-marker{display:none;}
.ri-nav-mobile-panel{position:absolute;right:0;top:30px;min-width:190px;padding:12px;background:rgba(0,0,0,.96);border:1px solid rgba(255,255,255,.12);}
.ri-nav-mobile-panel a{display:block;padding:10px 8px;color:#fff;text-decoration:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
@media(max-width:1280px) and (min-width:768px){
  .ri-nav-links{gap:12px;}
  .ri-nav-links a{font-size:18px;}
}
@media(max-width:767px){
  .ri-site-nav{height:58px;min-height:58px;padding:0 17px;border-bottom-color:rgba(156,0,0,.90);}
  .ri-nav-logo{width:38px;}
  .ri-nav-mark{width:40px;height:44px;}
  .ri-nav-links{display:none;}
  .ri-nav-mobile{display:block;}
}

/* =========================================================
   RADIO ILLUMINATI — PRIVATE TRANSMISSION
   Source conversation moved out of Elementor intact.
   ========================================================= */

:root {
    --ri-gold: #efc875;
    --ri-gold-light: #ffebb7;

    --ri-violet: #8d78dc;
    --ri-violet-light: #d0c3ff;

    --ri-blue: #60a8df;
    --ri-rose: #d58ba9;

    --ri-text: #f7f5ef;
    --ri-muted: #cbc7cf;
    --ri-subtle: #817e8d;
    --ri-danger: #ffc1c1;
}


/* =========================================================
   PAGE
   ========================================================= */

html,
body {
    overflow-x: hidden;
}

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

.ri-page {
    width: 100vw;
    min-height: 100vh;

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

    color: var(--ri-text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:
        radial-gradient(
            circle at 9% 0%,
            rgba(74, 53, 147, 0.29),
            transparent 38%
        ),
        radial-gradient(
            circle at 94% 10%,
            rgba(39, 112, 168, 0.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(172, 93, 139, 0.07),
            transparent 45%
        ),
        linear-gradient(
            145deg,
            #010208 0%,
            #070914 48%,
            #02030a 100%
        );
}

.ri-shell {
    width: 100%;
    min-height: 100vh;
}

.ri-main {
    display: grid;
    place-items: start center;

    min-height: 100vh;

    padding:
        clamp(48px, 5vw, 76px)
        max(3vw, env(safe-area-inset-right))
        clamp(75px, 8vw, 115px)
        max(3vw, env(safe-area-inset-left));
}

.ri-content {
    width: min(1480px, 94vw);

    margin: 0 auto;

    text-align: center;
}


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

.ri-eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 20px;

    padding:
        9px
        15px;

    color: var(--ri-violet-light);

    background:
        rgba(141, 120, 220, 0.07);

    border:
        1px solid
        rgba(141, 120, 220, 0.20);

    border-radius: 999px;

    font-size: 0.76rem;
    font-weight: 800;

    letter-spacing: 0.15em;

    text-transform: uppercase;
}

.ri-title {
    margin:
        0
        auto
        36px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(4.8rem, 7.3vw, 7.6rem);

    font-weight: 500;

    line-height: 0.96;

    letter-spacing: -0.055em;

    background:
        linear-gradient(
            115deg,
            #fff1c3 3%,
            #efc875 30%,
            #c29ddd 58%,
            #70b6e4 81%,
            #d58ba9 100%
        );

    background-clip: text;
    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}


/* =========================================================
   ROOM
   ========================================================= */

.ri-room {
    position: relative;

    display: grid;

    grid-template-rows:
        minmax(280px, auto)
        auto;

    width: 100%;

    min-height: 430px;

    overflow: hidden;

    text-align: left;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(96, 168, 223, 0.13),
            transparent 38%
        ),
        radial-gradient(
            circle at 0% 100%,
            rgba(213, 139, 169, 0.055),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(255,255,255,0.068),
            rgba(255,255,255,0.02)
        );

    border:
        1px solid
        rgba(239, 200, 117, 0.23);

    border-radius: 32px;

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,0.05),

        0 34px 90px
        rgba(0,0,0,0.42),

        0 0 70px
        rgba(141,120,220,0.07);
}

.ri-room::before {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--ri-gold),
            var(--ri-violet),
            var(--ri-blue),
            var(--ri-rose),
            transparent
        );
}


/* =========================================================
   CONVERSATION
   ========================================================= */

.ri-conversation {
    position: relative;

    min-height: 0;

    padding:
        22px
        clamp(42px, 5vw, 78px)
        10px;

    overflow-x: hidden;
    overflow-y: auto;

    scroll-behavior: smooth;

    scrollbar-width: thin;

    scrollbar-color:
        rgba(239, 200, 117, 0.22)
        transparent;
}

.ri-conversation::-webkit-scrollbar {
    width: 6px;
}

.ri-conversation::-webkit-scrollbar-track {
    background: transparent;
}

.ri-conversation::-webkit-scrollbar-thumb {
    background:
        rgba(239, 200, 117, 0.22);

    border-radius: 20px;
}


/* =========================================================
   MESSAGES
   ========================================================= */

.ri-message {
    width: min(940px, 82%);

    margin: 0 0 10px;
}

.ri-message.turbo {
    margin-right: auto;
}

.ri-message.user {
    margin-left: auto;

    margin-bottom: 12px;

    text-align: right;
}

.ri-message-label {
    display: block;

    margin: 0 0 3px;

    color: var(--ri-violet-light);

    font-size: 0.76rem;
    font-weight: 800;

    line-height: 1.2;

    letter-spacing: 0.14em;

    text-transform: uppercase;
}

.ri-message.user .ri-message-label {
    color: var(--ri-gold-light);
}

.ri-message-text {
    margin: 0;

    color: var(--ri-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.7rem, 1.85vw, 2.1rem);

    font-weight: 400;

    line-height: 1.32;

    white-space: pre-wrap;

    overflow-wrap: anywhere;
}

.ri-message.user .ri-message-text {
    color: #d4d0c8;
}

.ri-message-text.has-html {
    white-space: normal;
}


/* =========================================================
   TYPING
   ========================================================= */

.ri-typing {
    display: flex;

    align-items: center;

    gap: 7px;

    min-height: 22px;
}

.ri-typing span {
    display: block;

    width: 7px;
    height: 7px;

    background:
        var(--ri-violet-light);

    border-radius: 50%;

    opacity: 0.25;

    animation:
        riTyping
        1.15s
        ease-in-out
        infinite;
}

.ri-typing span:nth-child(2) {
    animation-delay: 0.14s;
}

.ri-typing span:nth-child(3) {
    animation-delay: 0.28s;
}

@keyframes riTyping {

    0%,
    65%,
    100% {
        opacity: 0.22;

        transform:
            translateY(0);
    }

    32% {
        opacity: 1;

        transform:
            translateY(-3px);
    }
}


/* =========================================================
   COMPOSER
   ========================================================= */

.ri-composer {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: end;

    gap: 18px;

    padding:
        10px
        clamp(42px, 5vw, 78px)
        19px;

    background:
        linear-gradient(
            180deg,
            rgba(2, 3, 10, 0.08),
            rgba(2, 3, 10, 0.48)
        );

    border-top:
        1px solid
        rgba(239, 200, 117, 0.12);
}

.ri-composer.is-hidden {
    display: none;
}


/* =========================================================
   INPUT
   ========================================================= */

.ri-input {
    display: block;

    width: 100%;

    min-height: 50px;
    max-height: 180px;

    padding:
        5px
        4px;

    resize: none;

    overflow-y: auto;

    color: var(--ri-text);

    background: transparent !important;

    border: 0 !important;

    border-bottom:
        1px solid
        rgba(239, 200, 117, 0.22) !important;

    border-radius: 0 !important;

    outline: none !important;

    box-shadow: none !important;

    caret-color:
        var(--ri-gold-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.7rem, 1.8vw, 2rem);

    line-height: 1.32;
}

.ri-input:focus {
    background: transparent !important;

    border-bottom-color:
        rgba(255, 235, 183, 0.68) !important;

    outline: none !important;

    box-shadow: none !important;
}


/* =========================================================
   SEND
   ========================================================= */

.ri-send {
    width: 52px;
    height: 52px;

    margin: 0;

    padding: 0;

    color: #11101a;

    background:
        linear-gradient(
            135deg,
            #fff0bd,
            #efc875 45%,
            #9b86dd
        );

    border:
        1px solid
        rgba(255,255,255,0.34);

    border-radius: 50%;

    box-shadow:
        0 10px 26px
        rgba(0,0,0,0.35),

        0 0 26px
        rgba(141,120,220,0.15);

    font: inherit;

    font-size: 1.3rem;
    font-weight: 900;

    cursor: pointer;
}

.ri-send:hover:not(:disabled) {
    transform:
        translateY(-2px);
}

.ri-send:disabled {
    opacity: 0.30;

    cursor: default;
}


/* =========================================================
   FINAL SUMMARY
   ========================================================= */

.ri-summary {
    margin: 0;

    color: var(--ri-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.7rem, 1.85vw, 2.1rem);

    line-height: 1.34;
}

.ri-summary-email {
    color: var(--ri-gold-light);
}


/* =========================================================
   ACTIONS
   ========================================================= */

.ri-inline-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 12px;
}

.ri-inline-button {
    min-height: 44px;

    padding:
        8px
        17px;

    color: #11101a;

    background:
        linear-gradient(
            135deg,
            #fff0bd,
            #efc875,
            #9b86dd
        );

    border:
        1px solid
        rgba(255,255,255,0.30);

    border-radius: 9px;

    font: inherit;

    font-size: 0.84rem;
    font-weight: 850;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    cursor: pointer;
}

.ri-inline-button.secondary {
    color: var(--ri-gold-light);

    background:
        rgba(255,255,255,0.035);

    border:
        1px solid
        rgba(239,200,117,0.22);
}

.ri-inline-button:disabled {
    opacity: 0.45;

    cursor: default;
}


/* =========================================================
   STATUS
   ========================================================= */

.ri-status {
    position: absolute;

    left:
        clamp(42px, 5vw, 78px);

    bottom: 3px;

    margin: 0;

    color: var(--ri-danger);

    font-size: 0.74rem;
}


/* =========================================================
   HONEYPOT
   ========================================================= */

.ri-honeypot {
    position: absolute !important;

    left: -10000px !important;

    width: 1px !important;
    height: 1px !important;

    opacity: 0 !important;

    pointer-events: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .ri-main {
        padding:
            38px
            14px
            60px;
    }

    .ri-content {
        width: 100%;
    }

    .ri-title {
        margin-bottom: 27px;

        font-size:
            clamp(3rem, 15vw, 4.6rem);
    }

    .ri-room {
        grid-template-rows:
            minmax(250px, auto)
            auto;

        min-height: 400px;

        border-radius: 22px;
    }

    .ri-conversation {
        padding:
            17px
            20px
            8px;
    }

    .ri-message {
        width: 94%;

        margin-bottom: 8px;
    }

    .ri-message.user {
        margin-bottom: 9px;
    }

    .ri-message-label {
        font-size: 0.66rem;
    }

    .ri-message-text,
    .ri-summary {
        font-size: 1.2rem;

        line-height: 1.30;
    }

    .ri-composer {
        gap: 10px;

        padding:
            7px
            20px
            16px;
    }

    .ri-input {
        min-height: 46px;

        font-size: 1.2rem;
    }

    .ri-send {
        width: 45px;
        height: 45px;

        font-size: 1.05rem;
    }
}


/* CLEAN-CANVAS CONTACT INTEGRATION */
body.radio-illuminati-contact{background:#010208;}
body.radio-illuminati-contact .ri-page{margin-top:0;}
