/* FAQ and Gallery keep their published WordPress content; this file changes only their native page surface. */
body.gstudio-native-site.gstudio-native-library-page {
    background-color: var(--gs-graphite, #26231f);
    background-image:
        linear-gradient(120deg, rgb(25 22 19 / 86%), rgb(38 35 31 / 91%)),
        url('../images/spatial/workshop-room.webp');
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #f6f0e7;
}

body.gstudio-native-site.gstudio-native-library-page .site-main {
    width: min(calc(100% - 2 * var(--gs-space)), 90rem);
    padding-block: clamp(1.25rem, 4vw, 3.5rem);
}

body.gstudio-native-site.gstudio-native-library-page .page-content {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgb(209 172 128 / 42%);
    border-radius: clamp(1.1rem, 2vw, 1.8rem);
    background:
        radial-gradient(ellipse at 90% 0%, rgb(209 172 128 / 9%), transparent 38%),
        rgb(38 35 31 / 91%);
    box-shadow: 0 28px 72px rgb(15 12 9 / 35%), inset 0 1px 0 rgb(255 255 255 / 8%);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body.gstudio-native-site.gstudio-native-library-page .page-header {
    width: min(100%, 84rem);
    padding: clamp(1.5rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 4.5rem) clamp(1rem, 3vw, 2rem);
}

body.gstudio-native-site.gstudio-native-library-page .page-title {
    color: #fff8ee;
    font-size: clamp(2.2rem, 6vw, 5rem);
    letter-spacing: -.045em;
    text-wrap: balance;
}

body.gstudio-native-site.gstudio-native-library-page .page-content__body {
    width: min(100%, 84rem);
    margin-inline: auto;
    padding: 0 clamp(1.25rem, 5vw, 4.5rem) clamp(1.75rem, 5vw, 4.5rem);
    color: #ded4c6;
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.75;
}

body.gstudio-native-site.gstudio-native-library-page .entry-content :is(h1, h2, h3, h4) {
    color: #fff8ee;
    font-family: var(--gs-font-display, Montserrat, sans-serif);
    letter-spacing: -.03em;
    line-height: 1.2;
    text-wrap: balance;
}

body.gstudio-native-site.gstudio-native-library-page .entry-content h2 {
    margin-top: 1.8em;
    font-size: clamp(1.5rem, 3.4vw, 2.5rem);
}

body.gstudio-native-site.gstudio-native-library-page .entry-content h3 {
    margin-top: 1.5em;
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
}

body.gstudio-native-site.gstudio-native-library-page .entry-content a {
    color: #e1c49a;
    text-decoration-color: rgb(225 196 154 / 58%);
    text-underline-offset: .2em;
}

body.gstudio-native-site.gstudio-native-library-page .entry-content :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #e1c49a;
    outline-offset: 3px;
}

body.gstudio-native-site.gstudio-native-library-page .entry-content img {
    max-width: 100%;
    height: auto;
    border: 1px solid rgb(209 172 128 / 32%);
    border-radius: 1rem;
}

body.gstudio-native-site.gstudio-native-library-page .entry-content :is(.gsp-gallery-empty, .gsp-faq-unavailable) {
    max-width: 64ch;
    margin: 0;
    padding: 1rem 1.2rem;
    border: 1px solid rgb(209 172 128 / 24%);
    border-inline-start: 3px solid #e1c49a;
    border-radius: 1rem;
    background: rgb(255 255 255 / 3%);
    color: #ded4c6;
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.6;
}

/* FAQ keeps its existing Contact Form 7 handlers; only replace the browser-default controls. */
body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-form p {
    margin: 0 0 .85rem;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-form-control-wrap {
    display: block;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-form-control:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]) {
    width: 100%;
    min-height: 3rem;
    padding: .7rem .85rem;
    border: 1px solid #9b8468;
    border-radius: .65rem;
    background: #f7f2e9;
    color: #26231f;
    font: inherit;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-form-control:not(.wpcf7-submit)::placeholder {
    color: #665f58;
    opacity: 1;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-submit {
    min-height: 3rem;
    padding: .7rem 1.25rem;
    border: 1px solid #d1ac80;
    border-radius: .7rem;
    background: #d1ac80;
    color: #26231f;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-submit:hover {
    transform: translateY(-1px);
    background: #e1c49a;
    box-shadow: 0 8px 22px rgb(0 0 0 / 20%);
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-form-control:focus-visible {
    outline: 3px solid #e1c49a;
    outline-offset: 3px;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7-not-valid-tip {
    color: #ffb4ab;
}

body.gstudio-native-site.gstudio-native-library-page.page-id-91 .page-content__body .wpcf7 form .wpcf7-response-output {
    margin: 1rem 0 0;
    border-color: #d1ac80;
    border-radius: .65rem;
    color: #f6f0e7;
}

@media (max-width: 760px) {
    body.gstudio-native-site.gstudio-native-library-page .entry-content :is(.gsp-gallery-empty, .gsp-faq-unavailable) {
        padding: .9rem 1rem;
    }
    body.gstudio-native-site.gstudio-native-library-page {
        background-attachment: scroll;
    }

    body.gstudio-native-site.gstudio-native-library-page .site-main {
        width: min(calc(100% - 1rem), 90rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gstudio-native-site.gstudio-native-library-page *,
    body.gstudio-native-site.gstudio-native-library-page *::before,
    body.gstudio-native-site.gstudio-native-library-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* light-surfaces v1 */
/* Light FAQ/gallery page: brown stays on cards and accents. */
body.gstudio-native-site :is(.gstudio-faq-page,.page-content.gstudio-faq-page) { background: #fbfaf8 !important; color: #26231f !important; border-color: #e3ddd5 !important; box-shadow: 0 18px 48px rgb(38 35 31 / 8%) !important; }
body.gstudio-native-site.gstudio-native-library-page { background: #f4f1ec !important; background-image: none !important; color: #26231f !important; }
body.gstudio-native-site.gstudio-native-library-page .page-title { color: #26231f !important; }
body.gstudio-native-site.gstudio-native-library-page .entry-content :is(.gsp-gallery-empty, .gsp-faq-unavailable) { color: #4a433b !important; }

/* FAQ contact form on the light page */
body.gstudio-native-site .gstudio-faq-page__contact :is(label,legend) { color: #26231f !important; }
body.gstudio-native-site .gstudio-faq-page__contact .gsp-cf7-secondary-btn { background: #f3ede4 !important; border: 1px solid #b89a74 !important; color: #26231f !important; text-decoration: none !important; }
body.gstudio-native-site .gstudio-faq-page__contact .gsp-cf7-secondary-btn:hover { background: #e9dfd0 !important; color: #26231f !important; }
