/*
Theme Name: Ceva Gutenberg SEO
Theme URI: https://leadwithceva.com/
Author: Signal & Gravity Consulting
Description: The SEO-enhanced Ceva website with protected, visual Gutenberg editing and no page-builder dependency.
Version: 4.4.40
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ceva-gutenberg-seo
*/

/* Keep the fixed navigation below the WordPress toolbar for logged-in editors. */
.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* Shared consultation form modal: available on Home and Services. */
body.consultation-modal-open {
    overflow: hidden !important;
}
.consultation-modal {
    position: fixed;
    inset: 0;
    z-index: 2300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
}
.consultation-modal.show,
.consultation-modal:target {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.consultation-modal-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(44,42,40,.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}
.consultation-modal-card {
    position: relative;
    width: min(900px,94vw);
    max-height: min(86vh,780px);
    background: #fff;
    border: 1px solid rgba(58,58,56,.12);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 28px 80px rgba(32,30,28,.18);
    transform: translateY(16px) scale(.99);
    transition: transform .34s cubic-bezier(.2,.75,.25,1);
}
.consultation-modal.show .consultation-modal-card,
.consultation-modal:target .consultation-modal-card {
    transform: translateY(0) scale(1);
}
.consultation-modal-card::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: var(--orange,#C77B30);
}
.consultation-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(58,58,56,.14);
    background: #fff;
    color: var(--slate,#3A3A38);
    font-family: var(--sans,'Inter',sans-serif);
    font-size: 1.15rem;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease,color .25s ease,border-color .25s ease;
}
.consultation-modal-close:hover {
    transform: rotate(90deg);
    color: var(--orange,#C77B30);
    border-color: var(--orange,#C77B30);
}
.consultation-modal-inner {
    display: grid;
    grid-template-columns: minmax(225px,.68fr) minmax(0,1.45fr);
    min-height: min(86vh,780px);
    max-height: min(86vh,780px);
}
.consultation-modal-side {
    padding: 2.5rem 1.75rem 1.75rem;
    background: #FCFAF7;
    border-right: 1px solid rgba(58,58,56,.08);
}
.consultation-modal-eyebrow {
    display: block;
    margin-bottom: .65rem;
    color: var(--orange,#C77B30);
    font: 600 .68rem/1.4 var(--sans,'Inter',sans-serif);
    letter-spacing: .18em;
    text-transform: uppercase;
}
.consultation-modal-heading {
    margin: 0 0 1rem;
    color: var(--slate,#3A3A38);
    font-family: 'EB Garamond',Georgia,serif;
    font-size: clamp(1.8rem,2.7vw,2.45rem);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -.02em;
}
.consultation-modal-copy {
    margin: 0;
    color: var(--text-p,#5F5A53);
    font: 400 .95rem/1.65 var(--sans,'Inter',sans-serif);
}
.consultation-modal-note {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(199,123,48,.22);
    color: var(--muted,#8A8278);
    font: 400 .78rem/1.55 var(--sans,'Inter',sans-serif);
}
.consultation-modal-main {
    min-height: 0;
    max-height: min(86vh,780px);
    padding: 2rem 1.8rem 1.75rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    background: #fff;
}
.consultation-form-shell {
    color: var(--text-p,#5F5A53);
    font-family: var(--sans,'Inter',sans-serif);
}
.consultation-form-shell form { margin: 0; }
.consultation-form-shell label {
    display: block;
    margin-bottom: .45rem;
    color: var(--slate,#3A3A38);
    font: 600 .84rem/1.4 var(--sans,'Inter',sans-serif);
}
.consultation-form-shell input[type='text'],
.consultation-form-shell input[type='email'],
.consultation-form-shell input[type='url'],
.consultation-form-shell input[type='tel'],
.consultation-form-shell input[type='number'],
.consultation-form-shell select,
.consultation-form-shell textarea {
    width: 100%;
    max-width: 100%;
    padding: .7rem .82rem;
    border: 1px solid rgba(58,58,56,.16);
    border-radius: 10px;
    background: #fff;
    color: var(--slate,#3A3A38);
    font: 400 .9rem/1.45 var(--sans,'Inter',sans-serif);
    box-shadow: none;
}
.consultation-form-shell textarea { min-height: 86px; resize: vertical; }
.consultation-form-shell input:focus,
.consultation-form-shell select:focus,
.consultation-form-shell textarea:focus {
    outline: none;
    border-color: var(--orange,#C77B30);
    box-shadow: 0 0 0 3px rgba(199,123,48,.12);
}
.consultation-form-shell input[type='checkbox'],
.consultation-form-shell input[type='radio'] { accent-color: var(--orange,#C77B30); }
.consultation-form-shell button[type='submit'],
.consultation-form-shell input[type='submit'],
.consultation-form-shell .wpforms-submit,
.consultation-form-shell .ff-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .82rem 1.3rem;
    border: 0;
    border-radius: 999px;
    background: var(--orange,#C77B30);
    color: #fff;
    font: 600 .76rem/1 var(--sans,'Inter',sans-serif);
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
}
.consultation-form-shell .wpforms-container { margin: 0 !important; padding: 0 !important; }
.consultation-form-shell .wpforms-container .wpforms-field { padding: 0 0 .8rem !important; margin: 0 !important; }
.consultation-form-shell .wpforms-container .wpforms-field-label { margin: 0 0 .3rem !important; font-size: .83rem !important; line-height: 1.35 !important; }
.consultation-form-shell .wpforms-container input.wpforms-field-medium,
.consultation-form-shell .wpforms-container input.wpforms-field-large,
.consultation-form-shell .wpforms-container textarea.wpforms-field-medium,
.consultation-form-shell .wpforms-container textarea.wpforms-field-large,
.consultation-form-shell .wpforms-container select.wpforms-field-medium,
.consultation-form-shell .wpforms-container select.wpforms-field-large { width: 100% !important; max-width: 100% !important; }
.consultation-form-shell .wpforms-container .wpforms-submit-container { margin-top: 0 !important; padding-top: .35rem !important; }
.consultation-empty-state {
    padding: 1.1rem 1.15rem;
    border: 1px dashed rgba(199,123,48,.35);
    border-radius: 14px;
    background: #FCFAF7;
}
.consultation-empty-state h4 {
    margin: 0 0 .6rem;
    color: var(--slate,#3A3A38);
    font: 400 1.35rem/1.25 'EB Garamond',Georgia,serif;
}
.consultation-empty-state p,
.consultation-empty-state ol {
    margin: 0 0 .75rem;
    color: var(--text-p,#5F5A53);
    font: 400 .92rem/1.65 var(--sans,'Inter',sans-serif);
}
.consultation-empty-state ol { padding-left: 1.1rem; }

@media screen and (max-width: 900px) {
    .consultation-modal { padding: .75rem; }
    .consultation-modal-card { width: 100%; max-height: 92vh; border-radius: 18px; }
    .consultation-modal-inner { grid-template-columns: 1fr; min-height: 0; max-height: 92vh; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
    .consultation-modal-side { padding: 1.7rem 1.25rem 1rem; border-right: 0; border-bottom: 1px solid rgba(58,58,56,.08); }
    .consultation-modal-main { padding: 1.1rem 1.15rem 1.4rem; overflow: visible; max-height: none; }
    .consultation-modal-heading { font-size: 2.2rem; }
}


/* v4.2.1 — one footer social layout across every page template. */
.site-footer .footer-social {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1.2rem !important;
    width: 100% !important;
    margin: 1.5rem 0 0 !important;
    padding: 0 !important;
    text-align: right !important;
    position: relative !important;
    z-index: 30 !important;
}
.site-footer .footer-social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 31 !important;
}
.site-footer .footer-social svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
}
@media screen and (max-width: 768px) {
    .site-footer .footer-social {
        justify-content: flex-start !important;
        text-align: left !important;
    }
}


/* v4.3.4 — WhatsApp floating icon is a direct WhatsApp link only. */
.fab-trigger { text-decoration: none !important; }
