/*
Theme Name: DOAP Workspace
Theme URI: https://about.doap.com/
Description: DOAP Workspace child theme for Kadence.
Author: DOAP
Template: kadence
Version: 2.0.0
Text Domain: doap-workspace
*/

:root {
    --doap-bg: #061321;
    --doap-bg-soft: #0b1d31;
    --doap-card: rgba(13, 35, 58, 0.90);
    --doap-card-solid: #102840;
    --doap-text: #f6f9fc;
    --doap-muted: #b9c8d8;
    --doap-blue: #4cc9ff;
    --doap-blue-strong: #209eea;
    --doap-green: #43df9b;
    --doap-amber: #ffbd4a;
    --doap-red: #ff6b67;
    --doap-border: rgba(132, 195, 236, 0.23);
    --doap-shadow: 0 25px 70px rgba(0, 0, 0, 0.30);
    --doap-radius: 24px;
    --doap-width: 1220px;
}

html {
    scroll-behavior: smooth;
}

body,
body.content-style-unboxed {
    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(34, 153, 226, 0.19),
            transparent 34rem
        ),
        radial-gradient(
            circle at 86% 32%,
            rgba(67, 223, 155, 0.10),
            transparent 29rem
        ),
        var(--doap-bg);
    color: var(--doap-text);
}

.site-main,
.content-area {
    margin: 0;
    padding: 0;
}

.entry,
.entry-content-wrap,
.content-bg {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.entry-header,
.entry-footer {
    display: none;
}

.site-header {
    border-bottom: 1px solid var(--doap-border);
    background: rgba(6, 19, 33, 0.92);
    backdrop-filter: blur(16px);
}

.site-branding a,
.site-header a,
.main-navigation a {
    color: var(--doap-text);
}

.site-header a:hover,
.main-navigation a:hover {
    color: var(--doap-blue);
}

.site-footer {
    border-top: 1px solid var(--doap-border);
    background: #04101c;
    color: var(--doap-muted);
}

.doap-container {
    width: min(calc(100% - 42px), var(--doap-width));
    margin-inline: auto;
}

.doap-section {
    padding: 100px 0;
}

.doap-section-heading {
    max-width: 820px;
    margin-bottom: 48px;
}

.doap-hero {
    min-height: 86vh;
    display: grid;
    align-items: center;
    padding: 92px 0;
}

.doap-hero-grid,
.doap-split {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    align-items: center;
    gap: 64px;
}

.doap-eyebrow {
    color: var(--doap-blue);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.doap-title {
    max-width: 820px;
    margin: 16px 0 0;
    color: var(--doap-text);
    font-size: clamp(3.2rem, 7vw, 6.6rem);
    font-weight: 850;
    letter-spacing: -0.062em;
    line-height: 1.02;
}

.doap-heading {
    margin: 14px 0 0;
    color: var(--doap-text);
    font-size: clamp(2.25rem, 5vw, 4.4rem);
    font-weight: 820;
    letter-spacing: -0.05em;
    line-height: 1.05;
}

.doap-lead {
    max-width: 760px;
    margin-top: 25px;
    color: var(--doap-muted);
    font-size: clamp(1.08rem, 2vw, 1.34rem);
}

.doap-lead strong {
    color: var(--doap-text);
}

.doap-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.doap-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 23px;
    border: 1px solid var(--doap-border);
    border-radius: 999px;
    color: var(--doap-text);
    font-weight: 760;
    text-decoration: none;
}

.doap-button:hover {
    border-color: var(--doap-blue);
    color: var(--doap-blue);
}

.doap-button-primary {
    border-color: transparent;
    background: linear-gradient(
        135deg,
        var(--doap-blue),
        var(--doap-blue-strong)
    );
    color: #03111e;
}

.doap-button-primary:hover {
    color: #03111e;
    filter: brightness(1.08);
}

.doap-panel,
.doap-card {
    border: 1px solid var(--doap-border);
    border-radius: var(--doap-radius);
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        var(--doap-card);
    box-shadow: var(--doap-shadow);
}

.doap-orbit {
    position: relative;
    min-height: 500px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(76, 201, 255, 0.16),
            transparent 56%
        );
}

.doap-orbit::before,
.doap-orbit::after {
    content: "";
    position: absolute;
    border: 1px solid var(--doap-border);
    border-radius: 50%;
}

.doap-orbit::before {
    inset: 5%;
}

.doap-orbit::after {
    inset: 23%;
}

.doap-core,
.doap-orbit-item {
    position: absolute;
    z-index: 2;
    border: 1px solid var(--doap-border);
    background: #0b2137;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.27);
    color: var(--doap-text);
    text-align: center;
}

.doap-core {
    top: 50%;
    left: 50%;
    width: 175px;
    min-height: 175px;
    display: grid;
    place-items: center;
    border-color: rgba(67, 223, 155, 0.55);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.doap-core strong {
    display: block;
    font-size: 1.25rem;
}

.doap-core span {
    color: var(--doap-green);
    font-size: 0.84rem;
}

.doap-orbit-item {
    min-width: 124px;
    padding: 13px 16px;
    border-radius: 15px;
    font-weight: 760;
}

.doap-orbit-item:nth-child(2) { top: 4%; left: 37%; }
.doap-orbit-item:nth-child(3) { top: 26%; right: 1%; }
.doap-orbit-item:nth-child(4) { bottom: 19%; right: 3%; }
.doap-orbit-item:nth-child(5) { bottom: 2%; left: 37%; }
.doap-orbit-item:nth-child(6) { bottom: 20%; left: 1%; }
.doap-orbit-item:nth-child(7) { top: 27%; left: 0; }

.doap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.doap-card {
    padding: 28px;
}

.doap-card h3,
.doap-panel h3 {
    margin: 0;
    color: var(--doap-text);
}

.doap-card p,
.doap-panel p {
    color: var(--doap-muted);
}

.doap-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 21px;
    border-radius: 14px;
    background: linear-gradient(
        135deg,
        rgba(76, 201, 255, 0.24),
        rgba(67, 223, 155, 0.18)
    );
    color: var(--doap-blue);
    font-weight: 900;
}

.doap-list {
    display: grid;
    gap: 13px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.doap-list li {
    position: relative;
    padding-left: 31px;
    color: var(--doap-muted);
}

.doap-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--doap-green);
    font-weight: 900;
}

.doap-flow {
    padding: 34px;
}

.doap-flow-row {
    display: grid;
    grid-template-columns: 1fr 42px 1fr 42px 1fr;
    align-items: center;
    gap: 7px;
}

.doap-node {
    min-height: 112px;
    display: grid;
    place-items: center;
    padding: 17px;
    border: 1px solid var(--doap-border);
    border-radius: 18px;
    background: var(--doap-bg-soft);
    color: var(--doap-text);
    text-align: center;
    font-weight: 800;
}

.doap-arrow {
    color: var(--doap-blue);
    font-size: 1.8rem;
    text-align: center;
}

.doap-protocols,
.doap-ai-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 22px;
}

.doap-protocol {
    padding: 17px;
    border: 1px solid var(--doap-border);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.025);
}

.doap-protocol strong {
    display: block;
    color: var(--doap-blue);
}

.doap-protocol span {
    color: var(--doap-muted);
    font-size: 0.88rem;
}

.doap-ai-card {
    padding: 30px;
}

.doap-ai-card-private {
    border-color: rgba(67, 223, 155, 0.5);
    background:
        linear-gradient(
            155deg,
            rgba(67, 223, 155, 0.13),
            transparent 58%
        ),
        rgba(12, 34, 56, 0.92);
}

.doap-label {
    color: var(--doap-blue);
    font-size: 0.77rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.doap-map {
    position: relative;
    overflow: hidden;
    min-height: 530px;
}

.doap-map img {
    width: 100%;
    height: 530px;
    object-fit: cover;
}

.doap-map-placeholder {
    min-height: 530px;
    display: grid;
    place-items: center;
    padding: 35px;
    background:
        radial-gradient(
            circle at 25% 30%,
            rgba(76, 201, 255, 0.20),
            transparent 18rem
        ),
        linear-gradient(145deg, #0d2a44, #071724);
    color: var(--doap-muted);
    text-align: center;
}

.doap-map-overlay {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    background: rgba(4, 16, 28, 0.90);
    backdrop-filter: blur(16px);
}

.doap-map-overlay strong {
    display: block;
    color: var(--doap-text);
    font-size: 1.3rem;
}

.doap-map-overlay span {
    color: var(--doap-muted);
}

.doap-quote {
    padding: 58px;
    border: 1px solid rgba(67, 223, 155, 0.38);
    border-radius: 30px;
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(67, 223, 155, 0.15),
            transparent 24rem
        ),
        var(--doap-card-solid);
    color: var(--doap-text);
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 850;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.doap-quote em {
    color: var(--doap-green);
    font-style: normal;
}

@media (max-width: 900px) {
    .doap-hero-grid,
    .doap-split {
        grid-template-columns: 1fr;
    }

    .doap-grid,
    .doap-ai-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .doap-grid,
    .doap-ai-grid,
    .doap-protocols,
    .doap-flow-row {
        grid-template-columns: 1fr;
    }

    .doap-arrow {
        transform: rotate(90deg);
    }

    .doap-section {
        padding: 70px 0;
    }

    .doap-title {
        font-size: clamp(2.7rem, 15vw, 4.5rem);
    }
}


/* ==========================================================
   DOAP Workspace visual repair — loaded after Kadence
   ========================================================== */

html,
body,
body.content-style-unboxed,
#page,
.site,
.site-content,
.content-area,
.site-main,
.content-bg,
.entry,
.entry-content-wrap {
    background-color: #061321 !important;
}

body {
    margin: 0 !important;
    color: var(--doap-text) !important;
}

#primary,
#main,
.site-main,
.content-area,
.site-content,
.entry,
.entry-content,
.entry-content-wrap,
.content-bg {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.content-container,
.site-container,
.entry-content {
    max-width: none !important;
}

.doap-hero,
.doap-section {
    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(34, 153, 226, 0.16),
            transparent 34rem
        ),
        radial-gradient(
            circle at 86% 32%,
            rgba(67, 223, 155, 0.08),
            transparent 29rem
        ),
        #061321 !important;
}

.doap-title,
.doap-heading,
.doap-card h3,
.doap-panel h3,
.doap-core strong,
.doap-node,
.doap-quote {
    color: #f6f9fc !important;
}

.doap-lead,
.doap-card p,
.doap-panel p,
.doap-list li,
.doap-protocol span,
.doap-map-overlay span {
    color: #b9c8d8 !important;
}

.doap-button {
    color: #f6f9fc !important;
}

.doap-button-primary {
    color: #03111e !important;
}

.doap-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--doap-border);
    background: rgba(4, 16, 28, 0.94);
    backdrop-filter: blur(18px);
}

.doap-header-inner,
.doap-footer-inner {
    width: min(calc(100% - 42px), var(--doap-width));
    margin-inline: auto;
}

.doap-header-inner {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.doap-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
}

.doap-brand-mark {
    color: var(--doap-blue);
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.doap-brand-product {
    color: #f6f9fc;
    font-size: 1.05rem;
    font-weight: 760;
}

.doap-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}

.doap-nav a {
    color: #b9c8d8 !important;
    font-size: 0.92rem;
    font-weight: 650;
    text-decoration: none !important;
}

.doap-nav a:hover {
    color: var(--doap-blue) !important;
}

.doap-site-footer {
    border-top: 1px solid var(--doap-border);
    background: #04101c;
}

.doap-footer-inner {
    min-height: 130px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    color: #b9c8d8;
}

.doap-footer-inner strong {
    color: #f6f9fc;
}

.doap-footer-promise {
    max-width: 420px;
    color: var(--doap-green);
    font-weight: 750;
    text-align: right;
}

.doap-map {
    width: 100%;
}

.doap-map img {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 800px) {
    .doap-nav {
        display: none;
    }

    .doap-footer-inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }

    .doap-footer-promise {
        text-align: left;
    }
}


/* ==========================================================
   DOAP Product Site v2
   ========================================================== */

.doap-main {
    overflow: hidden;
}

.doap-promise-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-top: 30px;
    color: var(--doap-green);
    font-size: .88rem;
    font-weight: 750;
}

.doap-feature-strip {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    overflow: hidden;
    border: 1px solid var(--doap-border);
    border-radius: var(--doap-radius);
    background: rgba(12, 34, 56, .82);
}

.doap-feature-strip > div {
    min-height: 115px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px;
    border-right: 1px solid var(--doap-border);
}

.doap-feature-strip > div:last-child {
    border-right: 0;
}

.doap-feature-strip strong {
    color: var(--doap-text);
    font-size: 1.04rem;
}

.doap-feature-strip span {
    margin-top: 5px;
    color: var(--doap-muted);
    font-size: .84rem;
}

.doap-product-section {
    padding: 110px 0;
    background:
        radial-gradient(
            circle at 90% 25%,
            rgba(76, 201, 255, .08),
            transparent 30rem
        ),
        var(--doap-bg);
}

.doap-product-section:nth-of-type(even) {
    background:
        radial-gradient(
            circle at 10% 45%,
            rgba(67, 223, 155, .07),
            transparent 28rem
        ),
        #081827;
}

.doap-product-grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: center;
    gap: 72px;
}

.doap-product-reverse .doap-product-grid {
    grid-template-columns: 1.12fr .88fr;
}

.doap-product-copy {
    max-width: 570px;
}

.doap-product-visual {
    overflow: hidden;
    border: 1px solid var(--doap-border);
    border-radius: 24px;
    background: #0a1d30;
    box-shadow: 0 35px 90px rgba(0, 0, 0, .40);
}

.doap-product-visual img {
    width: 100%;
    height: auto;
    display: block;
}

.doap-screenshot-placeholder {
    min-height: 430px;
    display: grid;
    place-items: center;
    padding: 36px;
    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(76, 201, 255, .16),
            transparent 19rem
        ),
        linear-gradient(145deg, #102d49, #071625);
}

.doap-placeholder-window {
    width: min(100%, 660px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 17px;
    background: rgba(5, 17, 29, .88);
}

.doap-placeholder-bar {
    height: 43px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.doap-placeholder-bar span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--doap-muted);
    opacity: .55;
}

.doap-placeholder-content {
    min-height: 270px;
    display: grid;
    place-content: center;
    padding: 45px;
    text-align: center;
}

.doap-placeholder-content strong {
    color: var(--doap-text);
    font-size: 1.5rem;
}

.doap-placeholder-content p {
    max-width: 420px;
    color: var(--doap-muted);
}

.doap-identity-section {
    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(67, 223, 155, .10),
            transparent 32rem
        ),
        #071725 !important;
}

.doap-provisioning-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 65px;
}

.doap-provisioning-flow {
    display: grid;
    justify-items: center;
}

.doap-provision-node {
    width: min(100%, 360px);
    padding: 22px;
    border: 1px solid var(--doap-border);
    border-radius: 17px;
    background: var(--doap-card);
    color: var(--doap-text);
    text-align: center;
    font-weight: 800;
}

.doap-provision-node small {
    display: block;
    margin-top: 4px;
    color: var(--doap-muted);
    font-weight: 500;
}

.doap-provision-primary {
    border-color: rgba(76, 201, 255, .55);
    background: linear-gradient(
        135deg,
        rgba(76, 201, 255, .22),
        rgba(32, 158, 234, .13)
    );
}

.doap-flow-line {
    width: 2px;
    height: 34px;
    background: linear-gradient(
        var(--doap-blue),
        var(--doap-green)
    );
}

.doap-provision-results {
    width: min(100%, 560px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.doap-provision-results span {
    padding: 14px;
    border: 1px solid var(--doap-border);
    border-radius: 13px;
    background: rgba(255, 255, 255, .025);
    color: var(--doap-muted);
    text-align: center;
    font-size: .9rem;
}

.doap-protocol-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
    margin: 30px 0;
}

.doap-protocol-row > div {
    padding: 17px;
    border: 1px solid var(--doap-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}

.doap-protocol-row strong {
    display: block;
    color: var(--doap-blue);
}

.doap-protocol-row span {
    color: var(--doap-muted);
    font-size: .83rem;
}

.doap-ai-section {
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(67, 223, 155, .12),
            transparent 28rem
        ),
        #061321 !important;
}

.doap-ai-layout {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: center;
    gap: 64px;
}

.doap-ai-options {
    display: grid;
    gap: 14px;
}

.doap-ai-card {
    padding: 25px;
    border: 1px solid var(--doap-border);
    border-radius: 18px;
    background: var(--doap-card);
}

.doap-ai-card span {
    color: var(--doap-blue);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.doap-ai-card h3 {
    margin: 6px 0;
    color: var(--doap-text);
}

.doap-ai-card p {
    margin-bottom: 0;
    color: var(--doap-muted);
}

.doap-ai-card-private {
    border-color: rgba(67, 223, 155, .55);
    background:
        linear-gradient(
            145deg,
            rgba(67, 223, 155, .13),
            transparent
        ),
        var(--doap-card);
}

.doap-closing {
    padding: 120px 0;
    background: #04101c;
}

.doap-closing-panel {
    padding: clamp(40px, 7vw, 85px);
    border: 1px solid rgba(67, 223, 155, .38);
    border-radius: 30px;
    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(67, 223, 155, .15),
            transparent 25rem
        ),
        var(--doap-card-solid);
}

.doap-closing-panel h2 {
    margin: 17px 0 0;
    color: var(--doap-text);
    font-size: clamp(3rem, 7vw, 6.5rem);
    letter-spacing: -.06em;
    line-height: .98;
}

.doap-closing-panel h2 em {
    color: var(--doap-green);
    font-style: normal;
}

.doap-closing-panel p {
    max-width: 700px;
    color: var(--doap-muted);
    font-size: 1.15rem;
}

@media (max-width: 1000px) {
    .doap-feature-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .doap-feature-strip > div:nth-child(3) {
        border-right: 0;
    }

    .doap-product-grid,
    .doap-product-reverse .doap-product-grid,
    .doap-provisioning-grid,
    .doap-ai-layout {
        grid-template-columns: 1fr;
    }

    .doap-product-copy {
        max-width: none;
    }

    .doap-product-reverse .doap-product-copy {
        order: -1;
    }
}

@media (max-width: 640px) {
    .doap-feature-strip {
        grid-template-columns: 1fr 1fr;
    }

    .doap-feature-strip > div {
        border-bottom: 1px solid var(--doap-border);
    }

    .doap-feature-strip > div:nth-child(odd) {
        border-right: 1px solid var(--doap-border);
    }

    .doap-feature-strip > div:nth-child(even) {
        border-right: 0;
    }

    .doap-provision-results,
    .doap-protocol-row {
        grid-template-columns: 1fr;
    }

    .doap-product-section {
        padding: 75px 0;
    }
}
