/* OCF Wireframe
   Low-fidelity visual layer on top of Base 3 behavior.
   Keep this file structural and intentionally plain. */

:root {
    --ocf-heading: #111827 !important;
    --ocf-body: #374151 !important;
    --ocf-label: #6b7280 !important;
    --ocf-accent: #111827 !important;
    --ocf-accent-hover: #374151 !important;
    --ocf-secondary: #6b7280 !important;
    --ocf-bg: #ffffff !important;
    --ocf-bg-alt: #f7f7f7 !important;
    --ocf-bg-dark: #1f2937 !important;
    --ocf-heading-alt: #ffffff !important;
    --ocf-body-alt: #e5e7eb !important;
    --ocf-label-alt: #d1d5db !important;
    --ocf-border: #111827 !important;
    --ocf-border-light: #d1d5db !important;
    --ocf-divider: #d1d5db !important;
    --ocf-border-alt: #6b7280 !important;
    --radius-sm: 0 !important;
    --radius: 0 !important;
    --radius-lg: 0 !important;
    --radius-full: 0 !important;
    --shadow-sm: none !important;
    --shadow: none !important;
    --shadow-lg: none !important;
}

html,
body {
    background: #ffffff !important;
}

body {
    color: var(--ocf-body) !important;
}

*,
*::before,
*::after {
    box-shadow: none !important;
}

img {
    filter: grayscale(1) contrast(0.85) brightness(1.05);
}

.container-global {
    max-width: 1180px;
}

.site-header,
.nav-dropdown,
.mobile-menu,
.page-header,
.ocf-hero,
.ocf-about,
.ocf-commitments,
.ocf-services,
.ocf-service-areas,
.ocf-testimonials,
.ocf-faq,
.ocf-contact,
.ocf-detail-section,
.ocf-article-body,
.ocf-article-more,
.site-footer {
    border-bottom: 1px solid var(--ocf-border-light);
}

.site-header {
    background: #ffffff !important;
    border-bottom: 1px solid var(--ocf-border) !important;
}

.site-header::before,
.site-header::after,
.ocf-hero::before,
.ocf-hero::after,
.page-header::before,
.page-header::after,
.ocf-cta__shade,
.ocf-hero__bg-overlay,
.ocf-page-header__overlay {
    display: none !important;
}

.nav-link,
.nav-dropdown-trigger,
.dropdown-item,
.mobile-link,
.mobile-accordion-trigger,
.mobile-accordion-panel a {
    color: var(--ocf-heading) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.btn-primary,
.btn-secondary,
.ocf-form-submit,
.ocf-booking-submit,
.ocf-services-nav button,
.ocf-hero__booking-toggle,
.ocf-mobile-cta {
    background: #ffffff !important;
    color: var(--ocf-heading) !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.btn-primary:hover,
.btn-secondary:hover,
.ocf-form-submit:hover,
.ocf-booking-submit:hover,
.ocf-services-nav button:hover,
.ocf-hero__booking-toggle:hover,
.ocf-mobile-cta:hover {
    background: var(--ocf-heading) !important;
    color: #ffffff !important;
    transform: none !important;
}

.ocf-hero__bg,
.page-header__image,
.ocf-cta__image {
    opacity: 0.22 !important;
}

.ocf-hero__media,
.ocf-hero__form-wrap,
.ocf-hero__booking,
.ocf-hero__rating,
.ocf-service-card,
.ocf-area-card,
.ocf-testimonial-card,
.ocf-faq-item,
.ocf-contact-card,
.ocf-contact-form,
.ocf-booking-panel,
.ocf-detail-sticky,
.ocf-detail-img,
.ocf-article-card,
.ocf-cta__panel,
.post-card,
.ocf-value-card,
.ocf-commitment-card {
    background: #ffffff !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ocf-service-card img,
.ocf-area-card img,
.post-card img,
.ocf-detail-img img,
.ocf-about img,
.ocf-commitments img {
    border-radius: 0 !important;
    border: 1px solid var(--ocf-border-light);
}

.ocf-service-card:hover,
.ocf-area-card:hover,
.ocf-testimonial-card:hover,
.post-card:hover {
    transform: none !important;
    border-color: var(--ocf-border) !important;
}

.eyebrow,
.ocf-hero__eyebrow,
.ocf-page-header__eyebrow,
.ocf-cta__eyebrow {
    color: var(--ocf-label) !important;
    letter-spacing: 0.16em !important;
}

.heading-section,
.ocf-hero__title,
.page-header h1,
.ocf-page-header__title {
    color: var(--ocf-heading) !important;
}

.ocf-hero__title,
.ocf-page-header__title {
    max-width: 12em;
}

.ocf-hero,
.page-header {
    background:
        linear-gradient(#f3f4f6 1px, transparent 1px),
        linear-gradient(90deg, #f3f4f6 1px, transparent 1px),
        #ffffff !important;
    background-size: 32px 32px !important;
}

.ocf-cta {
    background: #ffffff !important;
}

.ocf-cta__panel {
    min-height: 0 !important;
    background:
        linear-gradient(#f3f4f6 1px, transparent 1px),
        linear-gradient(90deg, #f3f4f6 1px, transparent 1px),
        #ffffff !important;
    background-size: 28px 28px !important;
    color: var(--ocf-heading) !important;
}

.ocf-cta__title,
.ocf-cta__text {
    color: var(--ocf-heading) !important;
}

.prose hr {
    border-top: 1px solid var(--ocf-border) !important;
}

.prose table,
.prose th,
.prose td {
    border-color: var(--ocf-border) !important;
}

input,
textarea,
select,
.ocf-form-input,
.ocf-form-textarea,
.ocf-booking-input,
.ocf-booking-textarea,
.ocf-booking-select {
    background: #ffffff !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus,
.ocf-form-input:focus,
.ocf-form-textarea:focus,
.ocf-booking-input:focus,
.ocf-booking-textarea:focus,
.ocf-booking-select:focus {
    outline: 2px solid var(--ocf-heading) !important;
    outline-offset: 2px;
}

.site-footer {
    background: #f7f7f7 !important;
    color: var(--ocf-body) !important;
    border-top: 1px solid var(--ocf-border) !important;
}

.site-footer a,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer p,
.site-footer li {
    color: var(--ocf-heading) !important;
}

/* Bare-minimum normalization pass for Base 3 decorative helpers. */
.hero-accent-line,
.about-image-accent,
.testimonial-quote-mark,
.ocf-hero__shade,
.ocf-cta__shade,
.ocf-hero__bg-overlay,
.ocf-page-header__overlay,
.ocf-article-hero-overlay,
.ocf-article-hero-overlay--no-img,
.post-card-overlay,
.hero-image-desktop::before,
.hero-image-mobile::before,
.nav-link::after {
    display: none !important;
}

.reveal,
.reveal.visible,
.reveal-delay-1,
.reveal-delay-2,
.reveal-delay-3,
.ocf-service-card,
.ocf-area-card,
.ocf-svc-card,
.ocf-testimonial-card,
.testimonial-card,
.post-card,
.ocf-commitment,
.ocf-commitment-card,
.ocf-faq-item,
.ocf-booking-service-card,
.ocf-booking-time,
.ocf-booking-nav-btn,
.ocf-article-card,
.nav-dropdown-panel,
.mobile-menu {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

[class*="accent"],
[class*="shade"],
[class*="overlay"] {
    box-shadow: none !important;
}

[class*="overlay"],
[class*="shade"] {
    background: transparent !important;
}

.nav-logo-placeholder,
.nav-dropdown-panel,
.dropdown-menu,
.mobile-menu,
.mobile-accordion,
.mobile-accordion-panel,
.hero-form-card,
.ocf-hero__media,
.ocf-hero__form,
.ocf-hero__form-wrap,
.ocf-hero__booking,
.ocf-hero__rating,
.ocf-svc-card,
.ocf-service-card,
.ocf-area-card,
.ocf-testimonial-card,
.testimonial-card,
.testimonial-dark-card,
.testimonial-review-popover,
.ocf-commitment-card,
.ocf-commitments-image,
.ocf-service-areas__map,
.ocf-service-areas__content,
.ocf-faq-item,
.ocf-contact-card,
.ocf-contact-form,
.ocf-booking-panel,
.ocf-booking-service-card,
.ocf-booking-time,
.ocf-booking-nav-btn,
.ocf-detail-sticky,
.ocf-detail-img,
.ocf-article-card,
.ocf-article-hero,
.ocf-cta__panel,
.post-card,
.post-card-bg,
.ocf-value-card,
.about-image,
.bw-modal,
.bw-step-card,
.bw-result-card {
    background: #ffffff !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ocf-hero,
.page-header,
.ocf-cta__panel,
.post-card--overlay,
.testimonials-dark {
    background: #ffffff !important;
    color: var(--ocf-heading) !important;
}

.ocf-commitment-num,
.testimonial-avatar,
.ocf-svc-arrow,
.ocf-services-nav button,
.ocf-svc-nav button,
.ocf-testimonial-nav button,
.ocf-booking-step,
.ocf-booking-progress-fill,
.bw-progress-bar,
.bw-step-dot,
.bw-step-badge,
.ocf-area-badge,
.ocf-detail-location-list span,
.nav-mobile-btn,
.mobile-accordion-trigger {
    background: #ffffff !important;
    color: var(--ocf-heading) !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ocf-booking-step.is-active,
.bw-step-dot.is-active,
.ocf-booking-service-card.is-selected,
.ocf-booking-time.is-selected,
.ocf-booking-nav-btn.is-active {
    background: var(--ocf-bg-alt) !important;
    color: var(--ocf-heading) !important;
    border-color: var(--ocf-border) !important;
}

.nav-cta,
.wpcf7 input[type="submit"],
.bw-submit,
.bw-phone,
.ocf-service-areas__link {
    background: #ffffff !important;
    color: var(--ocf-heading) !important;
    border: 1px solid var(--ocf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.nav-cta:hover,
.wpcf7 input[type="submit"]:hover,
.bw-submit:hover,
.bw-phone:hover,
.ocf-service-areas__link:hover {
    background: var(--ocf-heading) !important;
    color: #ffffff !important;
    transform: none !important;
}

.ocf-hero__media img,
.ocf-hero__bg,
.page-header__image,
.about-image img,
.ocf-commitments-image img,
.ocf-cta__image,
.ocf-svc-card-img img,
.ocf-service-card img,
.ocf-area-card img,
.post-card-bg img,
.post-card img,
.ocf-detail-img img,
iframe {
    opacity: 0.32 !important;
    filter: grayscale(1) contrast(0.72) brightness(1.1) !important;
}

.ocf-svc-card:hover img,
.post-card:hover img,
.post-card--overlay:hover .post-card-bg img,
.ocf-service-card:hover img,
.ocf-area-card:hover img {
    transform: none !important;
}

.ocf-testimonials,
.testimonials-dark,
.site-footer {
    background: #ffffff !important;
    color: var(--ocf-body) !important;
}

.ocf-testimonial-card blockquote,
.testimonial-dark-quote,
.testimonial-dark-text,
.testimonial-dark-author,
.testimonial-dark-role,
.ocf-testimonial-card p,
.ocf-testimonial-card span,
.ocf-testimonial-card strong,
.ocf-testimonial-card blockquote {
    color: var(--ocf-body) !important;
}

.ocf-hero__stars,
.ocf-rating-stars,
.testimonial-stars,
.testimonial-dark-quote,
svg {
    color: currentColor !important;
}

.prose blockquote {
    border-left: 1px solid var(--ocf-border) !important;
    background: #ffffff !important;
    color: var(--ocf-body) !important;
}

.ocf-about,
.ocf-commitments,
.ocf-services,
.ocf-service-areas,
.ocf-testimonials,
.ocf-faq,
.ocf-contact,
.ocf-cta,
.site-footer {
    outline: 1px solid var(--ocf-border-light);
    outline-offset: -1px;
}

/* Keep structural wrappers unboxed; borders belong on controls and content cards. */
.ocf-hero__media,
.ocf-hero__form,
.ocf-hero__form-wrap,
.ocf-hero__booking,
.ocf-hero__rating,
.ocf-service-areas__map,
.ocf-service-areas__content,
.ocf-cta__panel,
.post-card-bg,
.about-image,
.ocf-commitments-image,
.ocf-article-hero {
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.ocf-hero__rating {
    padding: 0 !important;
}

.ocf-hero__text,
.ocf-hero__content p,
.ocf-hero__rating,
.ocf-hero__rating *,
.page-header p,
.ocf-page-header__description,
.ocf-article-hero-excerpt {
    color: var(--ocf-heading) !important;
    opacity: 1 !important;
}

.btn-primary,
.btn-secondary,
.nav-cta,
.ocf-service-areas__link,
.hero-form-card .form-submit-btn {
    min-height: 0 !important;
}
