/*
Theme Name: Boca 3D Blocks
Theme URI: https://wordpress.org/
Author: Site Starter
Description: Dark-tech editable WordPress block theme for an architecture, 3D scanning, and BIM local service website. Includes a consistent full-width image hero on every page, configured via each page’s Featured Image.
Version: 3.5.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: boca3d
*/
:root{--navy:#091624;--panel:#10243a;--blue:#4fc7fb;--muted:#b5c6d7;--line:#243d51}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{text-underline-offset:3px}a:hover{color:#148cc1}
.wp-site-blocks{overflow:hidden}.b3-header{position:relative;z-index:10}.b3-header a{text-decoration:none}.b3-header .wp-block-navigation a{font-weight:600;font-size:.93rem}.b3-header .wp-block-navigation a:hover{color:#4fc7fb}
.b3-hero{position:relative;background:radial-gradient(ellipse at 82% 20%,#183c61 0%,#081522 53%,#06111e 100%);color:#fff;border-bottom:1px solid var(--line)}
.b3-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(#80cefa 1px,transparent 1px),linear-gradient(90deg,#80cefa 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,#000)}
.b3-hero>*{position:relative;z-index:1}.b3-hero h1{line-height:1.08;letter-spacing:-.045em}.b3-hero p{color:#c3d8e9}.b3-eyebrow{font-size:.76rem!important;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:#62cdfd!important}
.b3-pill{display:inline-block;background:#153c56;color:#aee3fc;border:1px solid #27618a;border-radius:999px;padding:7px 14px;font-size:.78rem;font-weight:700}
.b3-card{background:#fff;border:1px solid #dfe9f0;border-radius:16px;padding:clamp(18px,2.5vw,30px);height:100%;box-shadow:0 8px 32px rgba(4,32,60,.035)}.b3-card h3{margin-top:.2rem;font-size:1.3rem}.b3-card p{color:#556778}.b3-card a{font-weight:700}
.b3-dark-card{background:#10263c;border:1px solid #2c4861;border-radius:16px;padding:24px;color:#f8fdff}.b3-dark-card p{color:#c2d2df}
.b3-image{min-height:245px;border:2px dashed #6594b3;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:linear-gradient(145deg,#142e47,#0b1b2c);color:#c6e8fa;gap:10px}.b3-image:before{content:"▧";font-size:3rem;color:#56c3ef}.b3-image strong{color:white;font-size:1.05rem}.b3-image span{font-size:.82rem;color:#a8bacb}
.b3-image-light{background:linear-gradient(135deg,#ebf4f9,#d8e8f0);border-color:#86acc4;color:#224156}.b3-image-light strong{color:#16324a}.b3-image-light span{color:#536f84}
.b3-section{padding-top:clamp(52px,7vw,96px)!important;padding-bottom:clamp(52px,7vw,96px)!important}.b3-kicker{font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#148cc1}.b3-step{border-left:3px solid #3fbef3;padding-left:22px}.b3-step h3{margin-top:0}.b3-cta{background:linear-gradient(120deg,#08233b,#164b70);color:white;border-radius:22px}.b3-cta p{color:#d2e3ef}.b3-faq details{padding:19px 0;border-bottom:1px solid #ccdbe5}.b3-faq summary{font-weight:750;cursor:pointer}.b3-faq p{color:#556779}.b3-footer{background:#071522;color:#d8e5ef}.b3-footer a{color:#b9e6fa}.b3-footer h3{color:#fff}
.b3-button .wp-block-button__link{transition:transform .15s,background .15s}.b3-button .wp-block-button__link:hover{transform:translateY(-2px);background:#1ba5df!important;color:#071522!important}
.b3-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.b3-form label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:.93rem}.b3-form input,.b3-form select,.b3-form textarea{width:100%;min-height:44px;border:1px solid #bfd0dc;border-radius:8px;padding:10px 12px;font:inherit;color:#132b3c;background:#fff}.b3-form textarea{min-height:120px}.b3-form .wide{grid-column:1/-1}.b3-form button{background:#007db8;border:none;padding:13px 22px;color:white;font-weight:750;border-radius:9px;cursor:pointer}.b3-form .hp{position:absolute;left:-9999px}.b3-notice{padding:14px 20px;border-radius:8px;background:#e0f4e7;color:#184f31}.b3-warning{background:#fff1dc;color:#6d4714}.b3-tiny{font-size:.86rem;color:#66798a}
@media(max-width:720px){.b3-form{grid-template-columns:1fr}.b3-header .wp-block-site-title{font-size:1.15rem}.b3-hero{padding-top:65px!important;padding-bottom:65px!important}.b3-card{padding:20px}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{margin-bottom:12px}}

/* Version 2: conversion-focused service site polish. Content remains native WordPress blocks. */
:root{--b3-ink:#10283b;--b3-accent:#16a7e1;--b3-soft:#f1f6fa}
html{scroll-padding-top:96px}
body{color:#193246;line-height:1.65}
.b3-header{box-shadow:0 2px 20px rgba(0,0,0,.14)}
.b3-header .wp-block-navigation-item a{transition:color .15s ease}
.b3-header .wp-block-navigation-item:last-child>a{background:#19a6df;border-radius:9px;color:#062037!important;padding:10px 16px;font-weight:800}
.b3-header .wp-block-navigation-item:last-child>a:hover{background:#74d7ff;color:#071f32!important}
.b3-section{padding-inline:clamp(18px,3vw,34px)}
.b3-section .b3-inner{max-width:1180px;margin-inline:auto}
.b3-section .b3-inner>.wp-block-heading:first-of-type{margin-top:.2em}
.b3-hero{padding-top:clamp(70px,7vw,118px)!important;padding-bottom:clamp(70px,7vw,118px)!important}
.b3-hero h1{font-size:clamp(2.1rem,4.6vw,4.5rem);color:#fff;max-width:770px;line-height:1.05!important;letter-spacing:-.048em}
.b3-hero h2,.b3-cta h2{color:#fff}
.b3-hero .b3-kicker{color:#73d6ff!important}
.b3-hero .wp-block-columns{align-items:center;gap:clamp(24px,5vw,70px)}
.b3-hero .wp-block-column>p:not(.b3-kicker){max-width:640px;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.7}
.b3-inner>h2{font-size:clamp(1.75rem,2.9vw,2.85rem);max-width:920px}
.b3-inner>p{max-width:940px}
.b3-inner>.wp-block-columns{margin-top:30px;gap:22px}
.b3-card{transition:box-shadow .2s ease,border-color .2s ease;box-shadow:0 12px 28px rgba(18,45,67,.06)}
.b3-card:hover{border-color:#a7d5eb;box-shadow:0 16px 35px rgba(18,45,67,.11)}
.b3-card h3{font-size:clamp(1.1rem,1.4vw,1.38rem)}
.b3-card a{color:#056b9c}
.b3-image{min-height:315px;padding:clamp(24px,4vw,40px)}
.b3-image h3{color:#e0f7ff!important;line-height:1.3}
.b3-image p{color:#c0d5e2!important;max-width:440px;margin:0}
.b3-image-light h3{color:#153b52!important}
.b3-image-light p{color:#3c647d!important}
.b3-image p.b3-slot-label{font-size:.68rem;letter-spacing:.10em;font-weight:800;text-transform:uppercase;color:#7fd1fa!important}
.b3-image-light p.b3-slot-label{color:#25769d!important}
.b3-step{padding:10px 5px 10px 18px}
.b3-step h3{font-size:1.08rem}
.b3-faq details{padding:19px 10px 19px 0;border-bottom:1px solid #ccdbe5}
.b3-faq summary{font-weight:750;font-size:1.05rem}
.b3-faq details[open] summary{color:#097cae}
.b3-faq p{padding-left:4px}
.b3-related{display:flex;flex-wrap:wrap;gap:10px 14px}
.b3-related p{margin:0}
.b3-related a{display:inline-block;border:1px solid #c4dbe8;border-radius:999px;padding:9px 16px;text-decoration:none;color:#095d88;font-weight:700;background:#f5fafc}
.b3-related a:hover{background:#e0f2fb}
.b3-cta{border-radius:0!important;background:linear-gradient(120deg,#071929,#124b6d)}
.b3-cta>.b3-inner>p{max-width:750px}
.b3-cta .wp-block-button__link{background:#4fc7fb!important;color:#062237!important}
.b3-button-outline .wp-block-button__link{border:1px solid #95dafa!important;background:transparent!important;color:#e7f9ff!important}
.b3-button-outline .wp-block-button__link:hover{background:#184b69!important;color:white!important}
.wp-block-list li{margin-bottom:.68em;line-height:1.65}
.b3-footer{border-top:1px solid #184866}
.b3-footer h3{font-size:1.04rem}
.b3-footer .wp-block-columns{gap:36px}
.b3-footer a{text-decoration:none}.b3-footer a:hover{text-decoration:underline}
@media(max-width:900px){.b3-header .wp-block-navigation-item:last-child>a{background:transparent!important;padding:0!important;color:inherit!important}}
@media(max-width:720px){.b3-section{padding-top:56px!important;padding-bottom:56px!important}.b3-hero{padding-top:64px!important}.b3-hero h1{font-size:clamp(2.05rem,8vw,3rem)}.b3-image{min-height:235px}.b3-related{gap:8px}.b3-section .wp-block-columns{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.b3-card,.b3-button .wp-block-button__link{transition:none}}

/* Version 3: business phone lead conversion. No dial action is rendered without a configured number. */
.b3-call-topbar{background:#061726;border-bottom:1px solid #2d5e7e;color:#e9f8ff;padding:12px 22px;position:relative;z-index:14}
.b3-call-topbar-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.b3-call-intro{display:block;color:#8fcbe9;letter-spacing:.12em;font-size:.67rem;text-transform:uppercase;font-weight:800}
.b3-call-strong{display:block;color:#fff;font-size:clamp(1.55rem,2.7vw,2.3rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;text-decoration:none}
.b3-call-strong:hover{color:#86dcff}
.b3-call-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.b3-call-action{display:inline-block;background:#53c8f6;border-radius:9px;color:#062034!important;padding:12px 21px;font-size:1rem;line-height:1.25;font-weight:850;text-decoration:none!important}
.b3-call-action:hover{background:#a0eaff;color:#062034!important}
.b3-call-secondary{color:#fff!important;text-decoration:underline;text-underline-offset:4px;font-size:.92rem;font-weight:700}
.b3-inpage-phone{margin:24px 0 18px;border-left:4px solid #48c6fa;padding:10px 16px;background:rgba(65,182,241,.1);border-radius:8px;max-width:520px}
.b3-inpage-phone .b3-call-intro{color:#68cdf8}
.b3-inpage-phone .b3-call-strong{font-size:clamp(1.6rem,3vw,2.45rem)}
.b3-inpage-phone .b3-call-action{margin-top:12px}
.b3-inpage-phone .b3-call-strong:focus-visible,.b3-call-action:focus-visible{outline:3px solid #f7d966;outline-offset:3px}
.b3-footer-phone{margin:24px 0 10px}.b3-footer-phone .b3-call-strong{font-size:clamp(1.35rem,2vw,2rem)}
.b3-phone-setup{font-size:.9rem;border:1px dashed #d1a85b;background:#fff4d5;color:#533b12;padding:12px 16px;margin:14px 0;border-radius:6px}
.b3-mobile-call{display:none}
@media(max-width:760px){.b3-call-topbar{padding:11px 16px}.b3-call-topbar-inner{gap:10px}.b3-call-strong{font-size:1.65rem}.b3-call-action{padding:10px 15px}.b3-call-topbar .b3-call-actions{width:100%}.b3-call-topbar .b3-call-secondary{font-size:.9rem}
body.b3-has-phone{padding-bottom:70px}
.b3-mobile-call{display:flex;position:fixed;z-index:10000;bottom:0;left:0;right:0;min-height:64px;box-shadow:0 -7px 28px rgba(0,0,0,.3);background:#051523;padding:10px 12px;gap:9px;align-items:center}
.b3-mobile-call>a{flex:1;display:flex;justify-content:center;align-items:center;min-height:47px;border-radius:8px;text-decoration:none;font-size:.94rem;font-weight:850}
.b3-mobile-call .b3-mobile-call-now{background:#4fc7fb;color:#041624}.b3-mobile-call .b3-mobile-quote{background:#1a3348;color:#ecf9ff;border:1px solid #5293ba}}

/* Boca 3D v3.1 — full-width, shared photo hero; each page uses its own Featured Image. */
.b3-photo-hero{
  position:relative; isolation:isolate; width:100%; display:grid; place-items:center;
  min-height:clamp(500px,67vh,820px);padding:clamp(55px,6vw,100px) 20px;
  background-image:linear-gradient(115deg,rgba(2,12,23,.7),rgba(4,28,51,.58)),var(--b3-photo-hero-image,linear-gradient(135deg,#092035,#1c4768));
  background-size:cover;background-position:center var(--b3-photo-position,center);
  color:#fff;text-align:center;overflow:hidden;
}
.b3-photo-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background:linear-gradient(125deg,transparent 42%,#7fdbff 100%)}
.b3-photo-hero-panel{position:relative;z-index:1;width:min(860px,100%);padding:clamp(27px,5vw,66px) clamp(24px,5vw,75px);background:rgba(4,24,43,.73);border:1px solid rgba(215,239,255,.2);border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.27);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.b3-photo-hero-brand{margin:0;color:#fff;font-size:clamp(2rem,5vw,4.3rem);font-weight:850;letter-spacing:-.045em;line-height:1.1;overflow-wrap:anywhere}
.b3-photo-hero-tagline{margin:18px 0 8px;color:#ccedff;font-size:clamp(.88rem,1.3vw,1.12rem);font-weight:650;letter-spacing:.035em}
.b3-photo-hero-phone{display:inline-block;margin:12px 0 16px;color:#fff!important;text-decoration:none!important;font-size:clamp(2rem,5.3vw,4rem);line-height:1.15;font-weight:900;letter-spacing:.005em;overflow-wrap:anywhere}
.b3-photo-hero-phone:hover{color:#9ce6ff!important}
.b3-photo-hero-actions{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
.b3-photo-hero-btn{display:inline-flex;justify-content:center;align-items:center;min-width:190px;min-height:50px;padding:13px 20px;background:#4fc7fb;color:#061b2b!important;text-decoration:none!important;font-weight:850;border-radius:100px;transition:background-color .15s}
.b3-photo-hero-btn:hover{background:#8ee2ff;color:#061b2b!important}
.b3-photo-hero-btn-secondary{border:1px solid rgba(225,242,255,.7);background:rgba(255,255,255,.08);color:#fff!important}
.b3-photo-hero-btn-secondary:hover{background:rgba(255,255,255,.23);color:#fff!important}
.b3-photo-hero a:focus-visible{outline:3px solid #ffda73;outline-offset:5px}
/* Previous V3 hero content becomes the white, SEO-specific intro BELOW the new photo hero. */
.b3-photo-hero + main .b3-hero{background:#f3f8fb;color:#142f45;border-bottom:1px solid #d3e5ef;padding-top:clamp(35px,5vw,68px)!important;padding-bottom:clamp(35px,5vw,68px)!important}
.b3-photo-hero + main .b3-hero:after{display:none}
.b3-photo-hero + main .b3-hero .wp-block-columns{display:block!important;max-width:1060px;margin-inline:auto}
.b3-photo-hero + main .b3-hero .wp-block-column:first-child{width:100%!important;max-width:980px!important;flex-basis:100%!important}
.b3-photo-hero + main .b3-hero .wp-block-column:nth-child(2){display:none!important}
.b3-photo-hero + main .b3-hero h1{max-width:1000px;font-size:clamp(2rem,3.5vw,3.6rem);color:#102f46!important;line-height:1.16!important;letter-spacing:-.035em}
.b3-photo-hero + main .b3-hero p:not(.b3-kicker){max-width:830px;color:#33566d!important;font-size:clamp(1rem,1.3vw,1.15rem)}
.b3-photo-hero + main .b3-hero .b3-kicker{color:#076b99!important}
.b3-photo-hero + main .b3-hero .b3-inpage-phone,.b3-photo-hero + main .b3-hero .b3-phone-setup,.b3-photo-hero + main .b3-hero .wp-block-buttons{display:none!important}
@media(max-width:760px){.b3-photo-hero{min-height:clamp(390px,58svh,620px);padding:42px 15px}.b3-photo-hero-panel{padding:32px 19px}.b3-photo-hero-brand{font-size:clamp(1.9rem,8vw,3rem)}.b3-photo-hero-phone{font-size:clamp(2rem,8.3vw,3rem)}.b3-photo-hero-actions{flex-direction:column}.b3-photo-hero-btn{width:100%;max-width:350px}.b3-photo-hero + main .b3-hero{padding-top:34px!important;padding-bottom:34px!important}}
@media(prefers-reduced-motion:reduce){.b3-photo-hero-btn{transition:none}}

/* V3.2: SEO-focused page H1 in photo hero; the global site name stays in navigation. */
.b3-photo-hero-heading{margin:0;color:#fff;font-size:clamp(2rem,4.6vw,3.85rem);font-weight:850;letter-spacing:-.042em;line-height:1.14;overflow-wrap:break-word;text-wrap:balance}
@media(max-width:760px){.b3-photo-hero-heading{font-size:clamp(1.75rem,7vw,2.7rem)}}

/* v3.5: quiet, editable hero: H1 deliberately appears BELOW photo in page blocks. */
.b3-photo-hero{min-height:clamp(380px,55vh,660px);padding:40px 20px}
.b3-photo-hero-panel{width:min(780px,100%);padding:clamp(27px,4vw,48px);background:rgba(4,24,43,var(--b3-panel-opacity,.73))}
.b3-photo-hero-tagline{font-size:clamp(1.35rem,2.4vw,2rem);font-weight:750;line-height:1.35;margin:0 0 18px;letter-spacing:0;color:#eaf8ff}
.b3-photo-hero-phone{font-size:clamp(2rem,4vw,3.2rem);margin:5px 0 13px}
.b3-photo-hero-actions{margin-top:12px}
.b3-photo-hero + main .b3-hero h1{display:block!important;font-size:clamp(2rem,3.5vw,3.6rem)!important;font-weight:800!important;line-height:1.16!important;color:#102f46!important}
@media(max-width:760px){.b3-photo-hero{min-height:380px;padding:28px 14px}.b3-photo-hero-panel{padding:28px 18px}.b3-photo-hero-tagline{font-size:clamp(1.2rem,5vw,1.65rem)}}
