/*
Theme Name: Flipping Pies Local
Theme URI: https://flippingpies.com
Author: Flipping Pies
Description: A bold, modern, mobile-first theme for a neighborhood pizza kitchen.
Version: 2.1.3
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: flipping-pies-local
License: GPLv2 or later
*/

:root {
	color-scheme:light;
	--fp-ink:#151515;
	--fp-cream:#fbf7f0;
	--fp-paper:#fffdfa;
	--fp-tomato:#ed3d27;
	--fp-tomato-dark:#c52617;
	--fp-line:#ddd2c3;
	--fp-muted:#65615c;
	--fp-display:Impact,"Arial Narrow","Arial Black",ui-sans-serif,system-ui,sans-serif;
	--fp-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--fp-serif:Georgia,"Times New Roman",serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--fp-cream); color:var(--fp-ink); font-family:var(--fp-body); line-height:1.5; margin:0; text-rendering:optimizeLegibility; }
a { color:var(--fp-tomato-dark); }
img { height:auto; max-width:100%; }
#menu,#how-it-works,#about { scroll-margin-top:86px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; width:1px; word-wrap:normal!important; }
.screen-reader-text:focus { background:#fff; clip:auto!important; clip-path:none; color:#111; display:block; height:auto; left:8px; padding:14px 18px; top:8px; width:auto; z-index:100000; }

.site-header { background:rgba(251,247,240,.96); border-bottom:1px solid var(--fp-line); position:sticky; top:0; z-index:9990; }
.admin-bar .site-header { top:32px; }
.site-header__inner { align-items:center; display:flex; gap:24px; justify-content:space-between; margin:0 auto; max-width:1508px; min-height:80px; padding:10px 24px; }
.site-brand { align-items:center; color:var(--fp-ink); display:flex; flex:0 0 auto; padding-bottom:6px; position:relative; text-decoration:none; }
.site-brand__logo { display:block; height:auto; width:230px; }
.site-brand__tagline { bottom:0; color:#4f4b46; font-size:8px; font-weight:850; left:58px; letter-spacing:.16em; line-height:1; position:absolute; text-transform:uppercase; white-space:nowrap; }
.site-navigation { display:none; }
.site-navigation ul { align-items:center; display:flex; gap:48px; list-style:none; margin:0; padding:0; }
.site-navigation a { color:var(--fp-ink); font-size:13px; font-weight:800; text-decoration:none; }
.site-navigation a:hover { color:var(--fp-tomato); }
.site-header__cta { background:var(--fp-tomato); border-radius:999px; box-shadow:0 8px 20px rgba(237,61,39,.12); color:white; display:none; font-size:13px; font-weight:900; padding:14px 26px; text-decoration:none; }
.site-header__cta:hover { background:var(--fp-tomato-dark); color:white; }
.site-menu-toggle { background:transparent; border:1px solid var(--fp-line); border-radius:50%; color:var(--fp-ink); cursor:pointer; font-size:20px; height:44px; width:44px; }
.site-navigation.is-open { background:var(--fp-cream); border-bottom:1px solid var(--fp-line); display:block; left:0; padding:18px 24px; position:absolute; right:0; top:100%; }
.site-navigation.is-open ul { align-items:stretch; flex-direction:column; gap:0; }
.site-navigation.is-open a { display:block; font-size:16px; padding:12px 0; }

.fp-main { min-height:55vh; }
.fp-hero { border-bottom:1px solid var(--fp-line); overflow:hidden; }
.fp-hero__inner { display:grid; min-width:0; }
.fp-hero__copy { min-width:0; padding:50px 24px 34px; position:relative; width:100%; z-index:2; }
.fp-kicker { color:var(--fp-tomato); font-size:11px; font-weight:950; letter-spacing:.18em; margin:0 0 17px; text-transform:uppercase; }
.fp-hero h1 { font-family:var(--fp-display); font-size:clamp(4.3rem,18vw,7.8rem); font-weight:900; line-height:.78; margin:0 0 24px; text-transform:uppercase; white-space:nowrap; }
.fp-hero__headline { display:block; letter-spacing:.01em; transform:scaleX(.86); transform-origin:left center; width:max-content; }
.fp-hero h1 .fp-hero__tagline { color:var(--fp-tomato); display:block; font-family:var(--fp-serif); font-size:.46em; font-style:normal; font-weight:800; letter-spacing:-.055em; line-height:1.08; margin-top:9px; text-transform:none; white-space:nowrap; }
.fp-hero__lead { color:var(--fp-muted); font-size:17px; line-height:1.45; margin:0 0 25px; max-width:510px; }
.fp-hero__lead span { display:block; }
.fp-hero__lead span+span { margin-top:5px; }
.fp-hero__actions { align-items:center; display:flex; flex-wrap:wrap; gap:12px; }
.fp-button { align-items:center; border-radius:999px; display:inline-flex; font-size:13px; font-weight:900; justify-content:center; min-height:52px; padding:12px 28px; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.fp-button:hover { transform:translateY(-2px); }
.fp-button--primary { background:var(--fp-tomato); box-shadow:0 11px 26px rgba(180,39,20,.16); color:white; }
.fp-button--primary:hover { background:var(--fp-tomato-dark); color:white; }
.fp-button--outline { border:1px solid #d4c6b5; color:var(--fp-ink); }
.fp-button--outline:hover { border-color:var(--fp-tomato); color:var(--fp-tomato-dark); }
.fp-hero__proof { border-top:1px solid var(--fp-line); display:grid; gap:16px 10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:34px; padding-top:20px; }
.fp-hero__proof>div { align-items:center; display:flex; gap:10px; min-width:0; }
.fp-proof-icon { align-items:center; border:1px solid #bdb2a4; border-radius:50%; display:flex; flex:0 0 auto; font-family:var(--fp-serif); font-size:11px; height:38px; justify-content:center; width:38px; }
.fp-hero__proof>div>span:last-child { color:var(--fp-muted); display:grid; font-size:10px; line-height:1.3; }
.fp-hero__proof strong { color:var(--fp-ink); font-size:10px; letter-spacing:.015em; text-transform:uppercase; white-space:nowrap; }
.fp-hero__media { background:var(--fp-cream); height:360px; overflow:hidden; position:relative; }
.fp-hero-photo { height:auto; left:-75px; max-width:none; object-fit:contain; position:absolute; top:50%; transform:translateY(-50%); width:calc(100% + 120px); }
.fp-price-sticker { align-items:center; background:#131313; border-radius:50%; bottom:18px; color:white; display:flex; flex-direction:column; height:106px; justify-content:center; position:absolute; right:18px; transform:rotate(-4deg); width:106px; z-index:2; }
.fp-price-sticker strong { font-family:var(--fp-display); font-size:43px; letter-spacing:-.03em; line-height:.82; }
.fp-price-sticker span { color:var(--fp-tomato); font-size:10px; font-weight:950; letter-spacing:.05em; margin-top:7px; text-transform:uppercase; }

.fp-showcase { border-bottom:1px solid var(--fp-line); }
.fp-showcase__inner { display:grid; margin:0 auto; max-width:1508px; min-width:0; padding:0 24px; }
.fp-featured,.fp-steps { min-width:0; padding:15px 0 10px; }
.fp-featured>h2,.fp-steps>h2 { color:var(--fp-tomato); font-size:14px; font-weight:950; letter-spacing:.08em; margin:0 0 9px; text-transform:uppercase; }
.fp-featured>h2::after { background:var(--fp-tomato); content:""; display:block; height:3px; margin-top:6px; width:24px; }
.fp-featured__grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.fp-feature-card { background:var(--fp-paper); border:1px solid var(--fp-line); border-radius:6px; box-shadow:0 3px 12px rgba(61,43,23,.07); min-width:0; overflow:hidden; }
.fp-feature-card>img { background:#f2dfc8; display:block; height:94px; object-fit:cover; object-position:center 47%; width:100%; }
.fp-feature-card--honey>img { filter:saturate(1.05) sepia(.08); }
.fp-feature-card>div { min-height:70px; padding:8px 11px 10px; position:relative; }
.fp-feature-card h3 { font-size:12px; line-height:1.1; margin:0 46px 7px 0; }
.fp-feature-card p { color:var(--fp-muted); font-size:10px; line-height:1.45; margin:0; padding-right:28px; }
.fp-feature-card strong { bottom:9px; color:var(--fp-tomato); font-size:14px; position:absolute; right:10px; }
.fp-steps { border-top:1px solid var(--fp-line); }
.fp-steps ol { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.fp-steps li { display:grid; justify-items:start; min-width:0; position:relative; }
.fp-step-icon { align-items:center; background:#f5eee4; border-radius:50%; display:flex; font-size:29px; height:70px; justify-content:center; margin-bottom:9px; width:70px; }
.fp-step-number { align-items:center; background:var(--fp-tomato); border:2px solid var(--fp-cream); border-radius:50%; color:white; display:flex; font-size:9px; font-weight:900; height:22px; justify-content:center; left:-4px; position:absolute; top:57px; width:22px; }
.fp-steps strong { font-size:11px; margin-bottom:4px; }
.fp-steps p { color:var(--fp-muted); font-size:10px; line-height:1.45; margin:0; max-width:120px; }

.fp-zip-banner { padding:11px 24px 0; }
.fp-zip-banner__inner { align-items:center; background:linear-gradient(100deg,#f8efe2,#fbf7f0); border:1px solid #e5d8c7; border-radius:7px; display:grid; gap:14px; grid-template-columns:auto 1fr; margin:0 auto; max-width:1456px; min-height:72px; overflow:hidden; padding:12px 18px; position:relative; }
.fp-zip-banner__pin { background:var(--fp-tomato); border-radius:50% 50% 50% 0; color:transparent; height:30px; transform:rotate(-45deg); width:30px; }
.fp-zip-banner__pin::after { background:#fff6eb; border-radius:50%; content:""; height:10px; left:10px; position:absolute; top:10px; width:10px; }
.fp-zip-banner h2 { font-size:12px; letter-spacing:.035em; margin:0 0 2px; text-transform:uppercase; }
.fp-zip-banner p { color:var(--fp-muted); font-size:11px; margin:0; }
.fp-zip-banner__scene { align-items:end; bottom:0; display:none; gap:14px; height:100%; justify-content:center; min-width:330px; position:absolute; right:35px; }
.fp-zip-banner__scene span { font-size:43px; }
.fp-zip-banner__scene strong { align-items:center; background:#d8d4ce; border-top:9px solid #b9b3aa; display:flex; font-family:var(--fp-display); font-size:11px; height:48px; justify-content:center; text-transform:uppercase; width:150px; }

.fp-order-section { padding:26px 0 0; }
.fp-order-intro { margin:0 auto; max-width:1180px; padding:20px 18px 0; }
.fp-order-intro h2 { font-family:var(--fp-display); font-size:clamp(3rem,10vw,6rem); letter-spacing:-.04em; line-height:.9; margin:0; text-transform:uppercase; }
.fp-page { margin:0 auto; max-width:900px; padding:56px 18px 80px; }
.fp-page h1 { font-family:var(--fp-display); font-size:clamp(2.7rem,9vw,5.5rem); line-height:.9; text-transform:uppercase; }

.site-footer { background:#11100e; color:white; margin-top:70px; }
.site-footer__inner { display:grid; gap:34px; margin:0 auto; max-width:1240px; padding:50px 18px 30px; }
.site-footer__brand strong { display:block; font-family:var(--fp-display); font-size:35px; letter-spacing:-.03em; line-height:1; text-transform:uppercase; }
.site-footer__brand p { color:#aaa39c; max-width:390px; }
.site-footer h2 { color:#aaa39c; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer a { color:white; text-decoration:none; }
.site-footer__bottom { border-top:1px solid #39332e; color:#8f8983; display:grid; font-size:11px; gap:3px; justify-items:center; margin-top:10px; padding-top:18px; text-align:center; }
.site-footer__bottom a { color:white; text-decoration:none; }
.site-footer__bottom a:hover { color:#f5bc42; }

@media(min-width:760px){
	.site-menu-toggle{display:none}
	.site-navigation{display:block}
	.site-header__cta{display:inline-flex}
	.fp-hero__inner{grid-template-columns:49.7% 50.3%;min-height:542px}
	.fp-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:52px 40px 25px max(24px,calc((100vw - 1460px)/2))}
	.fp-hero h1{font-size:clamp(5.9rem,7.55vw,8rem);max-width:660px}
	.fp-hero__headline{transform:scaleX(.8)}
	.fp-hero h1 .fp-hero__tagline{font-size:.58em}
	.fp-hero__lead{font-size:17px}
	.fp-hero__proof{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:auto;padding-top:19px}
	.fp-hero__proof>div{border-right:1px solid var(--fp-line);padding-right:8px}
	.fp-hero__proof>div:last-child{border-right:0}
	.fp-hero__media{height:auto;min-height:542px}
	.fp-hero-photo{left:-70px;width:calc(100% + 55px)}
	.fp-price-sticker{bottom:16px;height:118px;left:49%;right:auto;width:118px}
	.fp-price-sticker strong{font-size:49px}
	.fp-showcase__inner{grid-template-columns:1fr 1fr}
	.fp-featured{padding-right:50px}
	.fp-steps{border-left:1px solid var(--fp-line);border-top:0;padding-left:48px}
	.fp-step-icon{height:76px;width:76px}
	.fp-step-number{top:62px}
	.fp-zip-banner__inner{padding-right:410px}
	.fp-zip-banner__scene{display:flex}
	.site-footer__inner{grid-template-columns:2fr 1fr 1fr;padding-left:28px;padding-right:28px}
	.site-footer__bottom{grid-column:1/-1}
}

@media(min-width:1100px){
	.fp-hero__copy{padding-right:70px}
	.fp-hero h1{font-size:min(7.7vw,8.25rem)}
	.fp-featured,.fp-steps{min-height:233px}
}

@media(max-width:900px) and (min-width:760px){
	.site-navigation ul{gap:18px}
	.site-header__cta{padding-left:17px;padding-right:17px}
	.fp-hero h1{font-size:4.55rem}
	.fp-hero h1 .fp-hero__tagline{font-size:.47em}
	.fp-hero__proof{grid-template-columns:repeat(2,minmax(0,1fr))}
	.fp-hero__proof>div:nth-child(2){border-right:0}
	.fp-featured__grid{grid-template-columns:1fr}
	.fp-feature-card{display:grid;grid-template-columns:104px 1fr}
	.fp-feature-card>img{height:100%;min-height:94px}
}

@media(max-width:759px){
	.site-brand__logo{width:205px}
	.site-brand__tagline{font-size:7px;left:52px}
	.fp-featured__grid{grid-template-columns:1fr}
	.fp-feature-card{display:grid;grid-template-columns:118px 1fr}
	.fp-feature-card>img{height:100%;min-height:112px}
	.fp-steps{padding-bottom:16px}
	.fp-steps ol{display:flex;gap:12px;overflow-x:auto;padding:2px 0 10px;scroll-padding-left:1px;scroll-snap-type:x mandatory;scrollbar-width:none}
	.fp-steps ol::-webkit-scrollbar{display:none}
	.fp-steps li{background:var(--fp-paper);border:1px solid var(--fp-line);border-radius:12px;box-shadow:0 3px 12px rgba(61,43,23,.06);display:grid;flex:0 0 min(72vw,240px);grid-template-columns:1fr;grid-template-rows:auto auto 1fr;min-height:178px;padding:15px;scroll-snap-align:start}
	.fp-step-icon{height:58px;margin-bottom:13px;width:58px}
	.fp-step-number{left:56px;top:54px}
	.fp-steps strong{font-size:13px}
	.fp-steps p{font-size:11px;max-width:none}
}

@media(max-width:360px){
	.fp-hero h1{font-size:4rem}
	.fp-hero__headline{transform:scaleX(.78)}
	.fp-hero h1 .fp-hero__tagline{font-size:.4em}
	.fp-page .top-manager--login h1,.fp-page .top-manager__header h1{font-size:clamp(2.05rem,10.5vw,2.35rem);overflow-wrap:anywhere}
}

@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
