/*
Theme Name: Pro.Chefs
Theme URI: https://prochefs.co.ke
Author: Pro.Chefs Company Limited
Description: The Pro.Chefs block theme. On activation it creates every page (Home, Services, Event Catering, BBQs, Cocktails, Family Events, Private Chefs, Meal Prep, Menus, About, Contact, Journal, Gallery, Get a quote, FAQ, Booking terms, Privacy policy), sets the home page and the journal, and wires the booking and contact forms to email.
Version: 1.4.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary
Text Domain: prochefs
*/

@font-face{font-family:"Instrument Serif";src:url("assets/fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("assets/fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Funkymore";src:url("assets/fonts/Funkymore.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
html{scroll-behavior:smooth}
body{margin:0;background:#f5f0e8;color:#16130f;font-family:Candara,Montserrat,'Segoe UI',sans-serif;font-size:18px;line-height:1.65}
.wp-site-blocks{padding:0}
.wp-site-blocks>*,.entry-content>*,.wp-block-post-content>*{margin-block-start:0;margin-block-end:0}
img{max-width:100%}
:focus-visible{outline:2px solid #d9761f;outline-offset:3px}
.pc-hero-slide{animation:pcHeroFade 24s linear infinite both}
.pc-slide{transition:opacity 700ms ease}
@keyframes pcHeroFade{0%{opacity:0}5%{opacity:1}25%{opacity:1}30%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.pc-hero-slide{animation:none;opacity:0}}
@media (prefers-reduced-motion: reduce){.pc-slide{transition:none}}
a{color:#a5530f}a:hover{color:#0e4a38}
summary::-webkit-details-marker{display:none}
summary{cursor:pointer;list-style:none}

/* header: current page */
.pc-header nav a[aria-current="page"]{color:#e9c9a7!important;text-decoration:underline!important;text-underline-offset:6px;text-decoration-thickness:1px}

/* booking form: service cards */
.pc-option{position:relative;display:block;cursor:pointer}
.pc-option input{position:absolute;opacity:0;width:1px;height:1px}
.pc-option-box{display:flex;flex-direction:column;gap:4px;min-height:72px;padding:16px 20px;box-sizing:border-box;border-radius:4px;background:#fff;border:1px solid rgba(22,19,15,.2)}
.pc-option-label{font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;color:#0e4a38}
.pc-option-note{font-size:14px;color:#6e6659}
.pc-option input:checked+.pc-option-box{background:#0e4a38;border-color:#0e4a38}
.pc-option input:checked+.pc-option-box .pc-option-label{color:#f5f0e8}
.pc-option input:checked+.pc-option-box .pc-option-note{color:#e9c9a7}
.pc-option input:focus-visible+.pc-option-box{outline:2px solid #d9761f;outline-offset:3px}
.pc-progress{display:none!important}
.pc-js .pc-progress{display:grid!important}
.pc-progress li{display:flex;flex-direction:column;gap:8px;color:#16130f;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.pc-progress li span{display:block;height:4px;border-radius:999px;background:rgba(14,74,56,.18)}
.pc-progress li.is-done span{background:#0e4a38}
.pc-back,.pc-next{display:none!important}
.pc-js .pc-back,.pc-js .pc-next{display:inline-flex!important}
.pc-js .pc-back[hidden],.pc-js .pc-next[hidden],.pc-js .pc-submit[hidden],.pc-steps fieldset[hidden]{display:none!important}
.pc-error:empty{display:none}
.pc-sent[hidden]{display:none!important}
.pc-sent:not([hidden]){display:flex!important}

/* slideshow */
.pc-dot{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.pc-dot span{display:block;width:10px;height:10px;border-radius:999px;border:1px solid #e9c9a7;box-sizing:border-box}
.pc-dot[aria-current="true"] span{background:#e9c9a7}
.pc-round{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid #e9c9a7;border-radius:999px;background:transparent;color:#e9c9a7;cursor:pointer}

/* journal */
.pc-journal{max-width:1200px;margin:0 auto!important;padding:0 5vw 120px;box-sizing:border-box}
.pc-journal .wp-block-post-template{gap:24px}
.pc-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid rgba(22,19,15,.1);border-radius:4px;overflow:hidden}
.pc-card .wp-block-post-featured-image{margin:0}
.pc-card .wp-block-post-featured-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pc-card-body{display:flex;flex-direction:column;gap:12px;padding:28px}
.pc-card-body .wp-block-post-terms,.pc-card-body .wp-block-post-terms a{color:#6e6659;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.pc-card-body .wp-block-post-title{margin:0;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:30px;line-height:1.15}
.pc-card-body .wp-block-post-title a{color:#0e4a38;text-decoration:none}
.pc-card-body .wp-block-post-excerpt{margin:0;color:#4a443b;font-size:16px}
.pc-card-body .wp-block-post-excerpt__more-link{color:#a5530f;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}

/* single posts */
.pc-article{max-width:760px;margin:0 auto;padding:72px 5vw 120px;box-sizing:border-box}
.pc-article h1,.pc-article h2,.pc-article h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:#0e4a38;line-height:1.1}
.pc-article .wp-block-post-title{font-size:clamp(40px,6vw,64px);margin:0 0 16px}
.pc-article .wp-block-post-date{color:#6e6659;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.pc-article .wp-block-post-featured-image img{border-radius:4px}
.pc-article .wp-block-post-content>*+*{margin-top:1.2em}

@media (max-width:640px){.pc-header nav{width:100%;justify-content:space-between}}

/* anniversary offer banner */
.pc-offer{background:#e9c9a7;color:#0e4a38}
.pc-offer[hidden]{display:none}
.pc-offer-inner{max-width:1200px;margin:0 auto;box-sizing:border-box;padding:8px 5vw;min-height:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 16px;font-family:Montserrat,sans-serif;font-size:14px;line-height:1.5;text-align:center}
.pc-offer-inner p{margin:0}
.pc-offer-inner strong{font-weight:700}
.pc-offer-inner a{color:#0e4a38;font-weight:600}
.pc-offer-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#0e4a38;cursor:pointer}

/* Christmas season */
.pc-xmas-banner .pc-offer:not(.pc-offer--xmas){display:none}
.pc-offer--xmas{background:#8e2a2a;color:#f5f0e8}
.pc-offer--xmas .pc-offer-inner a,.pc-offer--xmas .pc-offer-close{color:#f5f0e8}
.pc-star-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;margin-left:6px}
.pc-star{animation:pcTwinkle 4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes pcTwinkle{0%,80%,100%{transform:scale(1) rotate(0);opacity:1}88%{transform:scale(1.25) rotate(18deg);opacity:.75}}
.pc-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.pc-sparkle{position:absolute;top:0;width:6px;height:6px;border-radius:999px;background:#e9c9a7;opacity:0;animation:pcSparkle 2.6s ease-in forwards}
@keyframes pcSparkle{0%{opacity:0;transform:translateY(-8px) scale(.5)}15%{opacity:1}100%{opacity:0;transform:translateY(200px) scale(1)}}
@media (prefers-reduced-motion: reduce){.pc-star,.pc-sparkle{animation:none}.pc-sparkle{opacity:0}}

/* Gallery viewer */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.pc-lb-trigger, [data-pc-lightbox] { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 4px; }
.pc-lb-open, .pc-lb-open body { overflow: hidden; }
.pc-lb { position: fixed; inset: 0; z-index: 100000; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 5vw 32px; background: rgba(9, 53, 40, 0.96); }
.pc-lb[hidden] { display: none; }
.pc-lb-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-out; }
.pc-lb-bar { position: absolute; top: 0; left: 0; right: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 5vw; }
.pc-lb-count { color: #e9c9a7; font-family: Montserrat, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
.pc-lb-actions { display: flex; align-items: center; gap: 16px; }
.pc-lb-book { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; background: #e9c9a7; color: #0e4a38; text-decoration: none; font-family: Montserrat, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.pc-lb-btn { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border: 1px solid rgba(245, 240, 232, 0.4); border-radius: 999px; background: rgba(9, 53, 40, 0.6); color: #f5f0e8; cursor: pointer; }
.pc-lb-btn:focus-visible, .pc-lb-book:focus-visible { outline: 2px solid #e9c9a7; outline-offset: 3px; }
.pc-lb-prev, .pc-lb-next { position: absolute; top: 50%; transform: translateY(-50%); }
.pc-lb-prev { left: 2vw; } .pc-lb-next { right: 2vw; }
.pc-lb-fig { position: relative; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: 100%; transition: opacity 0.22s ease, transform 0.22s ease; }
.pc-lb-fig img { display: block; max-width: min(1100px, 90vw); max-height: 74vh; width: auto; height: auto; object-fit: contain; border-radius: 4px; }
.pc-lb-fig figcaption { max-width: 720px; color: #f5f0e8; font-size: 16px; line-height: 1.5; text-align: center; }
@media (max-width: 600px) { .pc-lb-prev, .pc-lb-next { top: auto; bottom: 20px; transform: none; } .pc-lb-prev { left: 5vw; } .pc-lb-next { right: 5vw; } .pc-lb { padding-bottom: 96px; } }
