/*
Theme Name: Hot Pie's Pizzeria
Author: TitanWebSmith
Description: A responsive, one-page pizzeria menu with a full-width branded hero, editable menu prices, and restaurant information. No page builder required.
Version: 1.0.4
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hot-pies
*/

@font-face{font-family:Roboto Condensed;src:url('assets/fonts/roboto-condensed.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
:root{--red:#df0021;--red-dark:#bc001a;--ink:#20222b;--paper:#fafafa;--rule:#d6d6d6;--content:1640px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:#151413;color:var(--ink);font-family:'Roboto Condensed',Arial,sans-serif;font-size:18px;line-height:1.4;letter-spacing:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #0076e2;outline-offset:5px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:100000;width:auto;height:auto;clip-path:none;margin:0;padding:12px 18px;background:white;color:#111}
.shell{width:min(100% - 72px,var(--content));margin-inline:auto}
.hero{position:relative;isolation:isolate;max-width:2200px;margin-inline:auto;background:#15110e}
.hero-art{display:block;position:relative}
.hero-art img{width:100%;aspect-ratio:3/1;object-fit:cover}
.hero-art:focus-visible{outline-offset:-6px}
.hero-copy{position:absolute;left:max(4.5%,calc((100% - var(--content))/2));right:4.5%;bottom:42px;pointer-events:none;color:#fff;text-shadow:0 2px 5px #000}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:44px;font-weight:700;line-height:1.12;margin:0 0 6px;letter-spacing:0}
.hero-copy p{font-family:Arial,sans-serif;font-size:22px;line-height:1.4;margin:0}
.menu-section{position:relative;padding:0 0 26px;background:linear-gradient(rgb(250 250 250 / 65%),rgb(250 250 250 / 65%)),#fafafa url('assets/images/menu-paper.webp') center top/1500px auto repeat-y}
.menu-section::before{content:'';position:absolute;bottom:calc(100% - 1px);left:0;right:0;height:clamp(22px,3.4vw,58px);background:var(--paper);-webkit-mask:url('assets/images/menu-wave.svg') center/100% 100% no-repeat;mask:url('assets/images/menu-wave.svg') center/100% 100% no-repeat;pointer-events:none}
.menu-intro{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:96px;padding:14px 0 12px}
.menu-intro h2{margin:0;color:#080808;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:56px;line-height:1.1;letter-spacing:0;white-space:nowrap}
.menu-intro::before{content:'';height:3px;background:var(--red);width:56%;justify-self:end}
.menu-intro-right{display:flex;align-items:center;gap:28px;min-width:0}
.menu-intro-right::before{content:'';height:3px;background:var(--red);flex:1;min-width:28px}
.script{font-family:Caveat,'Brush Script MT',cursive;font-weight:700;letter-spacing:0}
.menu-motto{font-size:29px;line-height:.95;color:var(--red);text-align:center;transform:rotate(-7deg);margin:0 4px 0 0;max-width:250px}
.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}
.menu-column{display:flex;flex-direction:column;gap:15px;min-width:0}
.menu-card{border:1px solid #e1ded9;border-radius:8px;background:#fff;box-shadow:0 2px 5px rgb(21 19 12 / 13%);overflow:hidden;min-width:0;break-inside:avoid}
.menu-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 16px 5px;background:linear-gradient(110deg,#e30726,#d1001b 65%,#e60a26);color:#fff;border-radius:7px 7px 0 0}
.menu-card h3{font-size:29px;line-height:1.08;font-weight:700;margin:0;letter-spacing:0;overflow-wrap:break-word}
.menu-card-header small{font-size:16px;font-weight:400;white-space:nowrap}
.menu-card-body{padding:7px 14px 11px}
.menu-note{font-size:16px;line-height:1.23;text-align:center;margin:0 0 6px;white-space:pre-line}
.menu-note.is-italic{font-style:italic}
.menu-note.is-red{color:var(--red);font-weight:600}
.menu-items{margin:0;padding:0;list-style:none}
.menu-row{display:grid;grid-template-columns:minmax(0,max-content) minmax(8px,1fr) auto;align-items:baseline;column-gap:6px;row-gap:1px;line-height:1.3;padding:2px 0;font-size:18px;min-width:0}
.menu-item-copy{min-width:0}
.menu-name{font-weight:500}
.menu-description{font-size:14px;font-weight:400;font-style:italic;line-height:1.2}
.leader{min-width:8px;width:100%;border-bottom:1px dotted #b5b8bd;transform:translateY(-3px)}
.menu-price{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:400;text-align:right}
.menu-row.multi-price,.price-labels{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--price-count),42px);column-gap:7px;align-items:baseline}
.price-labels{color:var(--red);font-size:17px;font-weight:600;padding:0 0 4px;text-align:right}
.multi-price .menu-price{font-size:17px}
.multi-price .menu-name{font-size:17px}
.row-description{grid-column:1/-1;margin:1px 0 3px;line-height:1.25}
.menu-empty-price{font-size:15px;color:#59616a}
.toppings-list{color:var(--red);font-weight:600;text-align:center;line-height:1.25;font-size:18px;margin:4px 0 8px}
.deal{border:2px solid var(--red)}
.deal .menu-card-header{justify-content:center;padding-block:8px}
.deal h3{font-size:32px;text-transform:uppercase}
.deal-art{position:relative;isolation:isolate;padding:12px 15px 14px;background:#9c2407 url('assets/images/hero.webp') 91% 75%/auto 195%}
.deal-art::before{content:'';position:absolute;inset:0 7px;z-index:-1;background:#fff;clip-path:polygon(17% 0,83% 0,100% 32%,94% 78%,75% 100%,25% 100%,6% 78%,0 32%)}
.deal-copy{color:#101010;text-align:center;line-height:1.13;font-size:22px;font-weight:700;margin:0;white-space:pre-line}
.deal-note{font-size:18px;line-height:1.2;text-align:center;margin:3px 0;font-weight:400}
.deal-price{font-size:48px;line-height:1.02;font-weight:800;text-align:center;color:var(--red);margin:2px 0}
.deal-tax{font-size:15px;text-align:center;margin:0}
.closing-motto{font-size:35px;line-height:1.03;text-align:center;color:var(--red);transform:rotate(-7deg);margin:12px 0 3px;padding:0 8px}
.visit-band{background:linear-gradient(90deg,#151312 42%,transparent 70%),#151312 url('assets/images/footer.webp') right center/auto 100% no-repeat;color:#fff;min-height:245px;display:flex;align-items:center}
.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:76%;padding:38px 0;gap:0}
.visit-item{display:flex;align-items:flex-start;gap:18px;padding:0 26px;border-right:1px solid #886e4b;min-width:0}
.visit-item:first-child{padding-left:0}
.visit-item:last-child{border-right:0}
.visit-icon{display:grid;place-items:center;width:62px;height:62px;flex:0 0 62px;background:var(--red);border-radius:50%;border:1px solid #ff5c6f;margin-top:5px}
.visit-icon svg{width:39px;height:39px}
.visit-item h2{font:700 35px/1.1 Georgia,'Times New Roman',serif;margin:0 0 7px;color:#fff}
.visit-item p,.visit-item address{font-size:22px;line-height:1.27;font-style:normal;font-weight:500;margin:0;white-space:pre-line}
.visit-item .info-copy::after{content:'';display:block;width:128px;height:3px;background:var(--red);margin-top:21px;max-width:90%}
.visit-item a{display:inline-block}
.footer-red{background:linear-gradient(115deg,#d2001d,#ed0025 55%,#c9001d);color:#fff;border-top:2px solid #ff1e39;border-bottom:1px solid #fe1739}
.footer-red-inner{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:24px;align-items:center;min-height:110px;padding-block:14px}
.footer-identity{text-align:center}
.footer-identity strong{font:700 32px/1.15 Georgia,'Times New Roman',serif;display:block;margin-bottom:5px}
.footer-identity p{font-size:20px;margin:0}
.footer-identity a{display:inline-block;white-space:nowrap}
.footer-tagline{font-size:38px;line-height:1.05;text-align:right;transform:rotate(-5deg);margin:0}
.socials{display:flex;gap:20px;align-items:center}
.socials a{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%}
.socials svg{width:36px;height:36px}
.footer-bottom{background:#141312 url('assets/images/footer.webp') left center/400% auto;color:#eee}
.footer-bottom .shell{display:flex;justify-content:space-between;gap:24px;padding-block:23px;font-family:Arial,sans-serif;font-size:13px}
.footer-bottom p{margin:0}
.content-page{min-height:60vh;background:#fff;padding:64px 0}
.content-page h1{font-family:Georgia,serif;font-size:42px;color:#111}
.content-page a{color:var(--red);text-decoration:underline}
.content-page .shell{max-width:1000px}
@media(min-width:1800px){.hero-copy{bottom:52px}.hero h1{font-size:50px}.hero-copy p{font-size:24px}}
@media(max-width:1400px){.shell{width:calc(100% - 56px)}.menu-grid{gap:18px}.menu-card-header{padding-inline:12px}.menu-card h3{font-size:26px}.menu-card-body{padding-inline:11px}.menu-row{font-size:16px}.menu-description{font-size:13px}.multi-price .menu-name,.multi-price .menu-price{font-size:15px}.menu-row.multi-price,.price-labels{grid-template-columns:minmax(0,1fr) repeat(var(--price-count),36px);column-gap:5px}.menu-note{font-size:14px}.hero h1{font-size:38px}.hero-copy p{font-size:19px}.visit-item{gap:14px;padding-inline:20px}.visit-icon{width:54px;height:54px;flex-basis:54px}.visit-icon svg{width:33px;height:33px}.visit-item h2{font-size:30px}.visit-item p,.visit-item address{font-size:19px}.visit-grid{width:78%}.footer-tagline{font-size:34px}}
@media(max-width:1179px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.menu-column{gap:18px}.menu-card h3{font-size:29px}.menu-card-body{padding:10px 16px 14px}.menu-row{font-size:19px;padding-block:3px}.menu-description{font-size:15px}.multi-price .menu-name,.multi-price .menu-price{font-size:18px}.menu-row.multi-price,.price-labels{grid-template-columns:minmax(0,1fr) repeat(var(--price-count),44px);column-gap:8px}.menu-note{font-size:17px}.menu-intro h2{font-size:48px}.menu-motto{font-size:25px}.menu-intro{gap:18px}.menu-intro-right{gap:18px}.hero-copy{bottom:34px}.hero h1{font-size:32px}.hero-copy p{font-size:17px}.visit-grid{width:100%;padding-block:40px}.visit-band{background-position:left center;background-size:auto 100%;background-image:linear-gradient(90deg,rgb(0 0 0 / 15%),rgb(0 0 0 / 78%)),url('assets/images/footer.webp')}.visit-item h2{font-size:29px}.visit-item{padding-inline:18px;gap:12px}.visit-icon{width:48px;height:48px;flex-basis:48px}.visit-icon svg{width:30px;height:30px}.visit-item p,.visit-item address{font-size:19px}.footer-identity strong{font-size:27px}.footer-identity p{font-size:17px}.footer-tagline{font-size:30px}}
@media(max-width:767px){.hero-copy{position:static;padding:18px 24px 27px;background:#15110e;text-shadow:none}.hero h1{font-size:29px;line-height:1.15}.hero-copy p{font-size:16px;margin-top:8px}.hero-art img{object-fit:contain}.menu-section::before{height:22px}.shell{width:calc(100% - 36px)}.menu-intro{min-height:105px;grid-template-columns:1fr auto 1fr;gap:14px;padding:20px 0 16px}.menu-intro h2{font-size:40px}.menu-intro::before{width:100%}.menu-intro-right::before{min-width:0;width:100%}.menu-motto{display:none}.menu-card h3{font-size:28px}.menu-grid{gap:16px}.menu-card-body{padding-inline:12px}.menu-row{font-size:17px}.menu-description{font-size:14px}.multi-price .menu-name,.multi-price .menu-price{font-size:16px}.menu-row.multi-price,.price-labels{grid-template-columns:minmax(0,1fr) repeat(var(--price-count),37px);column-gap:5px}.menu-note{font-size:15px}.visit-grid{grid-template-columns:1fr;padding:24px 0}.visit-item,.visit-item:first-child{padding:22px 8px;border-right:0;border-bottom:1px solid #685848;gap:22px}.visit-item:last-child{border-bottom:0}.visit-icon{width:56px;height:56px;flex-basis:56px}.visit-item h2{font-size:30px}.visit-item p,.visit-item address{font-size:21px}.visit-item .info-copy::after{margin-top:15px}.visit-band{background-size:auto 100%;background-position:left center}.footer-red-inner{grid-template-columns:1fr;gap:16px;padding-block:24px;text-align:center}.socials{justify-content:center}.socials:empty{display:none}.footer-identity strong{font-size:29px}.footer-identity p{font-size:18px}.footer-tagline{text-align:center;font-size:34px}.footer-bottom .shell{flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:12px;padding-block:20px}.footer-bottom{background-image:none}}
@media(max-width:639px){.menu-grid{grid-template-columns:minmax(0,1fr);gap:18px}.menu-row{font-size:19px;line-height:1.32;padding-block:3px}.menu-card-header{padding:8px 15px}.menu-card-body{padding:9px 14px 13px}.menu-card h3{font-size:29px}.menu-note{font-size:17px}.menu-description{font-size:15px}.multi-price .menu-name,.multi-price .menu-price{font-size:17px}.menu-row.multi-price,.price-labels{grid-template-columns:minmax(0,1fr) repeat(var(--price-count),42px);column-gap:6px}.closing-motto{font-size:39px;margin:14px 0}.deal-copy{font-size:26px}.deal-art{padding-block:24px}.deal-price{font-size:56px}.menu-section{padding-bottom:30px}.hero h1{font-size:27px}}
@media(max-width:359px){.shell{width:calc(100% - 28px)}.hero-copy{padding-inline:18px}.hero h1{font-size:25px}.menu-card h3{font-size:26px}.menu-row.multi-price,.price-labels{grid-template-columns:minmax(0,1fr) repeat(var(--price-count),36px);column-gap:4px}.multi-price .menu-name,.multi-price .menu-price{font-size:15px}.menu-card-body{padding-inline:10px}.visit-item{gap:15px}.visit-item p,.visit-item address{font-size:19px}.footer-identity p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:767px){.footer-separator{display:none}.footer-identity a{display:block;margin-top:4px}}
@media print{body{background:#fff;color:#000}.hero,.visit-band,.footer-red,.footer-bottom,.skip-link{display:none}.menu-section{background:#fff}.shell{width:100%;max-width:none}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menu-card{box-shadow:none;break-inside:avoid}.menu-card-header{color:#000;background:#eee}.menu-column{display:block}.menu-card{margin-bottom:12px}.menu-motto{display:none}.menu-row{font-size:12px}.menu-card h3{font-size:20px}.menu-note,.menu-description{font-size:11px}.menu-intro h2{font-size:30px}}
