/*
Theme Name: Best Food Photographer NYC
Theme URI: https://bestfoodphotographernyc.com
Author: Best Food Photographer NYC
Description: Editable Gutenberg block theme for restaurant and product photography.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: bfnyc
*/
:root{--ink:#1f2723;--cream:#faf8f3;--rust:#b95e36;--muted:#66716a}body{background:var(--cream);color:var(--ink)}a{transition:opacity .2s}a:hover{opacity:.8}.wp-site-blocks{overflow:hidden}.bf-hero{min-height:590px;display:flex;align-items:center}.bf-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--rust)}.bf-price{font-size:2.2rem;font-weight:750;margin:0}.bf-card{background:white;border:1px solid #e8e4da;border-radius:16px;padding:28px;box-shadow:0 8px 26px #1f27230b;height:100%;box-sizing:border-box}.bf-card.featured{border:2px solid var(--rust)}.bf-card ul{padding-left:1.2rem;line-height:1.8}.bf-note{color:var(--muted);font-size:.9rem}.bf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.bf-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bf-gallery img{width:100%;height:280px;object-fit:cover;border-radius:10px}.bf-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bf-form label{display:block;font-weight:650;font-size:.92rem}.bf-form input,.bf-form textarea,.bf-form select{display:block;width:100%;box-sizing:border-box;border:1px solid #bfc7bf;border-radius:7px;padding:12px;margin-top:6px;font:inherit;background:white}.bf-form .full{grid-column:1/-1}.bf-form button{background:var(--rust);color:white;border:0;padding:15px 26px;border-radius:6px;font-weight:700;cursor:pointer}.bf-form small{font-size:.8rem;color:#59635e}.bf-alert{padding:16px;border:1px solid #b6c6b8;background:#eff7ef;border-radius:8px}.bf-error{background:#fff0e9;border-color:#e5ac96}.bf-bts{min-height:220px;border:2px dashed #c9c4b8;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#6a7068;background:#f2f0e9}.bf-menu{gap:24px}.bf-menu a{text-decoration:none;font-size:.93rem}.bf-footer{border-top:1px solid #dedbd2}.bf-pill{display:inline-block;background:#f4e4da;color:#8d4426;padding:6px 11px;border-radius:99px;font-size:.75rem;font-weight:700}@media(max-width:780px){.bf-grid,.bf-gallery{grid-template-columns:1fr 1fr}.bf-hero{min-height:420px}.bf-form{grid-template-columns:1fr}}@media(max-width:540px){.bf-grid,.bf-gallery{grid-template-columns:1fr}.bf-gallery img{height:260px}}


/* V2: StoryBrand editorial layout and persistent reviews */
:root{--ink:#27231f;--cream:#fcfaf6;--rust:#ad603e;--muted:#6c6964}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bf-site-layout{max-width:1360px!important;display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:30px;align-items:start;margin:0 auto;padding:16px 26px 60px;box-sizing:border-box}
.bf-main-column{min-width:0}.bf-main-column>.wp-block-post-content{max-width:100%}
.bf-review-panel{position:sticky;top:25px;max-height:calc(100vh - 45px);overflow-y:auto;align-self:start;scrollbar-width:thin}
.bf-review-inner{padding:22px;border:1px solid #e9e2d7;background:#fff;border-radius:12px;box-shadow:0 10px 32px #2d231b0a}
.bf-review-inner h2{font-family:Georgia,serif;font-size:1.4rem;line-height:1.15;margin:8px 0}.bf-review-intro,.bf-review-empty{font-size:.85rem;color:#666;line-height:1.5}.bf-review-empty{padding:12px;background:#f8f5f0;border-radius:6px}
.bf-review-link{font-size:.83rem}.bf-review-cta{display:block;text-align:center;background:var(--rust);color:#fff!important;padding:12px 10px;border-radius:6px;text-decoration:none;font-weight:650;font-size:.88rem}
.bf-main-column .alignwide{max-width:100%!important}.bf-main-column .alignfull{margin-left:0!important;margin-right:0!important;width:100%!important}
.bf-main-column .wp-block-group.alignwide{padding:52px 22px}.bf-main-column h1,.bf-main-column h2,.bf-main-column h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;line-height:1.13}
.bf-main-column h2{font-size:clamp(1.8rem,3vw,2.65rem)}.bf-main-column p{line-height:1.7}
.bf-hero-v2{border-radius:13px;overflow:hidden;min-height:530px!important}.bf-hero-v2 .wp-block-cover__inner-container{max-width:680px;margin-left:4%;margin-right:auto}.bf-hero-v2 h1{font-size:clamp(2.7rem,5.5vw,5.2rem);line-height:1.04;color:#fff}.bf-hero-v2 p{color:#fff}
.bf-hero-v2 .wp-block-buttons{display:inline-flex;margin-right:12px}.bf-hero-v2 .wp-block-button__link{border-radius:5px}
.bf-steps{background:#f5eee7;border-radius:12px}.bf-steps .wp-block-column{border-left:2px solid #d2a28b;padding-left:18px}.bf-steps .wp-block-column h2{font-size:1.35rem}.bf-work img{aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.bf-package-columns{gap:14px}.bf-package{background:#fff;border:1px solid #e6ded4;border-radius:12px;padding:18px 12px;box-shadow:0 4px 18px #27231f07}.bf-package-featured{border:2px solid var(--rust);background:#fffaf5}.bf-package h3{font-size:1.35rem}.bf-package .bf-price{font-size:1.8rem}.bf-package .wp-block-button__link{font-size:.83rem;padding:10px 12px}
.bf-bts-v2 .wp-block-column{border:1px dashed #c8bdb1;background:#f7f4ef;color:#666;min-height:130px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;border-radius:8px}
.bf-last-cta{background:#2d302b;color:white;border-radius:12px;text-align:center}.bf-last-cta h2,.bf-last-cta p{color:white}
@media(max-width:1050px){.bf-site-layout{grid-template-columns:minmax(0,1fr) 215px;gap:18px;padding:12px}.bf-review-inner{padding:14px}.bf-main-column .wp-block-group.alignwide{padding:38px 14px}}
@media(max-width:800px){.bf-site-layout{display:flex;flex-direction:column;padding:8px 14px 40px}.bf-review-panel{position:static;max-height:none;width:100%}.bf-main-column{width:100%}.bf-hero-v2{min-height:440px!important}.bf-main-column .wp-block-group.alignwide{padding:30px 12px}}
@media(max-width:600px){.bf-package{padding:18px}.bf-hero-v2 h1{font-size:2.6rem}.bf-hero-v2 .wp-block-cover__inner-container{margin-left:0}}

/* Booking confirmation — displayed after an inquiry is saved. */
.bf-confirmation{background:#e3f8d2;border:1px solid #b4d99e;border-radius:4px;padding:24px 28px;line-height:1.65;max-width:760px}.bf-confirmation h2{margin:0 0 16px;font-size:1.35rem}.bf-confirmation p{margin:0 0 18px}.bf-confirmation p:last-child{margin-bottom:0}.bf-confirmation a{color:#245e36;text-decoration:underline}
