:root{--red:#d7261e;--red-d:#b01c15;--gold:#ffc700;--dark:#141414;--dark2:#222;--cream:#efefef;--text:#3a2f2a;--muted:#7a6c64;--radius:14px;--shadow:0 10px 30px rgba(28,20,17,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:#fff;line-height:1.65;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-d)}
h1,h2,h3,h4{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.1;color:var(--dark);margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.5rem}
.container{width:min(1160px,100% - 32px);margin-inline:auto}
.center{text-align:center}
.script{font-family:Caveat,cursive;font-size:1.6rem;color:var(--gold);display:block;margin-bottom:.2em}
.hp{position:absolute;left:-9999px}

.btn{display:inline-block;background:var(--red);color:#fff;border:2px solid var(--red);padding:.7em 1.5em;border-radius:50px;font-weight:600;cursor:pointer;font-size:.95rem;transition:.2s}
.btn:hover{background:var(--red-d);border-color:var(--red-d);color:#fff;transform:translateY(-2px)}
.btn--lg{padding:.95em 2em;font-size:1.05rem}.btn--small{padding:.45em 1.1em;font-size:.85rem}
.btn--ghost{background:transparent;color:#fff;border-color:#fff;margin-left:.5rem}
.btn--ghost:hover{background:#fff;color:var(--dark);border-color:#fff}
.section .btn--ghost{color:var(--red);border-color:var(--red)}.section .btn--ghost:hover{background:var(--red);color:#fff}

.topbar{background:var(--dark);color:#e9ddd2;font-size:.85rem}
.topbar__in{display:flex;gap:1.5rem;justify-content:space-between;padding:.5rem 0;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .2s}
.site-header.is-stuck{box-shadow:0 4px 20px rgba(0,0,0,.1)}
.header__in{display:flex;align-items:center;gap:1.5rem;padding:.8rem 0}
.brand__text{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--red);letter-spacing:.03em;margin:0}
.brand{margin-right:auto}
.primary-nav .menu{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0}
.primary-nav a{color:var(--dark);font-weight:600;font-size:.95rem}.primary-nav a:hover{color:var(--red)}
.header__cta{display:flex;align-items:center;gap:1rem}
.cart-link{color:var(--dark);font-weight:600}
.cart-count{background:var(--gold);color:var(--dark);border-radius:50px;padding:0 .5em;font-size:.8rem}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:3px;background:var(--dark);margin:4px 0;border-radius:2px}

.hero{background:radial-gradient(circle at 80% 40%,#4a2a1b 0,var(--dark) 65%) center/cover;color:#fff;padding:clamp(3rem,8vw,6rem) 0;overflow:hidden}
.hero h1{color:#fff}.hero p{font-size:1.15rem;max-width:34em;color:#f0e4d8;margin-bottom:1.8rem}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero__art svg{width:min(440px,100%);margin-inline:auto;filter:drop-shadow(0 25px 30px rgba(0,0,0,.5))}
.spin{animation:spin 40s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}html{scroll-behavior:auto}}

.strip{background:var(--gold);color:var(--dark);font-weight:700}
.strip__in{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap;padding:.9rem 0;font-size:.95rem}

.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section--dark{background:var(--dark);color:#e9ddd2}.section--dark h2,.section--dark h3{color:#fff}
.section--cream{background:var(--cream)}
.section__head{text-align:center;margin-bottom:2.5rem}

.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.6rem}
.menu-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.menu-card:hover{transform:translateY(-6px)}
.menu-card__img{background:var(--cream);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.menu-card__img img{width:100%;height:100%;object-fit:cover}
.fd-emoji{font-size:5rem}
.menu-card__body{padding:1.2rem;display:flex;flex-direction:column;flex:1}
.menu-card__cat{color:var(--gold);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.menu-card h3 a{color:var(--dark)}.menu-card p{color:var(--muted);font-size:.92rem;margin:0 0 .5rem}
.stars{color:var(--gold);letter-spacing:2px}
.menu-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.8rem}
.price{font-size:1.3rem;color:var(--red)}

.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}
.story__art svg{width:min(360px,100%);margin-inline:auto}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.feature{text-align:center;padding:2rem 1.2rem;border-radius:var(--radius);background:var(--cream)}
.feature span{font-size:2.8rem}.feature p{color:var(--muted);margin:0}

.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.review{margin:0;background:#fff;padding:1.6rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.review cite{font-weight:700;color:var(--dark);font-style:normal}

.booking{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.booking__form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.booking__form input,.booking__form select{width:100%;padding:.9em 1em;border-radius:10px;border:2px solid transparent;background:#fff;font:inherit;color:var(--dark)}
.booking__form input:focus,.booking__form select:focus{outline:0;border-color:var(--gold)}
.booking__form input[name=name],.booking__form button{grid-column:1/-1}
.notice{padding:.8rem 1rem;border-radius:10px;font-weight:600}.notice--ok{background:#1f6b3a;color:#fff}.notice--err{background:#8c1d18;color:#fff}

.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.post-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.post-card__body{padding:1.2rem}.post-card time{color:var(--muted);font-size:.85rem}
.post-card h3 a{color:var(--dark)}.post-card p{margin:0;color:var(--muted)}

.page-hero{background:var(--dark);color:#fff;padding:3rem 0;text-align:center}.page-hero h1{color:#fff;margin:0}.page-hero time{color:#cdbfb3}
.content{padding:3rem 0 4rem}
.layout{display:grid;grid-template-columns:1fr 300px;gap:3rem}
.entry>*{max-width:100%}.entry img{border-radius:var(--radius)}
.sidebar .widget{margin-bottom:2rem}.widget-title{font-size:1.4rem}
.pagination{margin-top:2rem}.pagination .page-numbers{padding:.4em .9em;border-radius:8px;background:var(--cream);margin-right:.3rem}.pagination .current{background:var(--red);color:#fff}

.woo ul.products{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
.woo ul.products li.product{background:#fff;padding:1rem;border-radius:var(--radius);box-shadow:var(--shadow);margin:0!important;width:auto!important;float:none!important}
.woo .price{color:var(--red);font-weight:700}
.woo .button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{background:var(--red)!important;color:#fff!important;border-radius:50px!important;font-weight:600!important}
.woo .button:hover,.woocommerce button.button:hover{background:var(--red-d)!important}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--red)}

.site-footer{background:var(--dark);color:#cdbfb3}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;padding:3.5rem 0}
.site-footer h4{color:#fff;font-size:1.4rem}.site-footer a{color:#e9ddd2}.site-footer a:hover{color:var(--gold)}
.site-footer p{margin:.3em 0}.footer-menu{list-style:none;padding:0;margin:0}
.footer__bar{border-top:1px solid #3b2f29;padding:1rem 0;font-size:.85rem;text-align:center}

@media (max-width:900px){
	.hero__in,.story,.booking,.layout,.footer__grid{grid-template-columns:1fr}
	.hero__art{order:-1}.hero__art svg{width:220px}
	.nav-toggle{display:block}
	.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 12px 20px rgba(0,0,0,.1);padding:1rem 16px}
	.primary-nav.is-open{display:block}.primary-nav .menu{flex-direction:column;gap:.9rem}
	.header__cta .btn{display:none}
	.booking__form{grid-template-columns:1fr}
}
.fd-emoji img.emoji{width:1em;height:1em;display:inline-block}
.topbar img.emoji,.feature img.emoji,.strip img.emoji{width:1em;height:1em;display:inline}

@media (max-width:600px){.btn--ghost{margin-left:0;margin-top:.6rem}.topbar__in{justify-content:center;gap:.2rem 1rem;font-size:.8rem}.topbar__in p{margin:0}.topbar{line-height:1.3}.topbar__in span:nth-child(2){display:none}}

.hero__art img{width:min(440px,100%);height:auto;margin-inline:auto;filter:drop-shadow(0 25px 30px rgba(0,0,0,.5))}
@media (max-width:900px){.hero__art img{width:240px}}

.brand__text{white-space:nowrap}
@media (max-width:600px){.header__in{gap:.8rem}.brand__text{font-size:1.5rem}}

.has-decor{position:relative;overflow:hidden}.has-decor .container{position:relative;z-index:1}
.decor{position:absolute;z-index:0;opacity:.9;pointer-events:none}
.decor--garlic{width:110px;right:4%;top:8%;transform:rotate(18deg)}
.decor--onion{width:70px;left:3%;bottom:10%}
.story__art img{width:min(400px,100%);margin-inline:auto;filter:drop-shadow(0 20px 25px rgba(0,0,0,.45))}
.menu-card__img img{object-fit:contain;padding:.6rem;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2))}
@media (max-width:600px){.decor--garlic{width:70px}.decor--onion{width:45px}}
.menu-card__foot{flex-wrap:wrap;gap:.5rem}.price{font-size:1.15rem}

/* ---- Light hero + transparent header on the home page ---- */
.site-header{background:transparent;margin-bottom:-76px;transition:background .25s,box-shadow .25s}
.site-header.is-stuck{background:#fff}
body:not(.home) .site-header{background:#fff;margin-bottom:0}
.hero{background:#efefef;color:var(--dark);padding-top:calc(clamp(3rem,8vw,6rem) + 76px);position:relative}
.hero h1{color:var(--dark)}
.hero p{color:#555}
.hero .script{color:var(--red)}
.hero .btn--ghost{color:var(--dark);border-color:var(--dark)}
.hero .btn--ghost:hover{background:var(--dark);color:#fff}
.hero__art img{filter:drop-shadow(0 25px 25px rgba(0,0,0,.28))}
.hero .container{position:relative;z-index:1}
.hero .decor{opacity:1;animation:float 7s ease-in-out infinite}
.hero .decor:nth-of-type(even){animation-delay:-3s}
@keyframes float{50%{transform:translateY(-12px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.hero .decor{animation:none}}
.hd-garlic{width:90px;left:4%;top:24%}
.hd-onion{width:60px;left:44%;top:20%}
.hd-onion2{width:42px;right:6%;bottom:12%}
.hd-basil{width:70px;left:38%;bottom:8%}
.hd-basil2{width:54px;right:3%;top:30%;transform:rotate(60deg)}
.hd-tomato{width:76px;left:2%;bottom:6%}
.hd-tomato2{width:52px;right:30%;top:20%}
.hd-pepper{width:64px;left:30%;top:30%}
.hd-olive{width:34px;right:44%;bottom:6%}
.hd-olive2{width:28px;left:12%;top:16%}
@media (max-width:900px){
  .hd-garlic{width:56px;left:3%;top:30%}.hd-onion{display:none}.hd-basil{width:44px;left:auto;right:6%;bottom:4%}
  .hd-tomato{width:44px}.hd-pepper{width:42px;left:auto;right:4%;top:22%}.hd-tomato2,.hd-onion2,.hd-olive2{display:none}
}
.hd-garlic{left:40%;top:14%;width:80px}.hd-pepper{left:34%;top:44%}
@media (max-width:900px){.hd-garlic{left:3%;top:30%;width:56px}}

/* ---- Real ingredient cutouts in the hero (positions tuned to avoid text/pizza) ---- */
.hx{height:auto;filter:drop-shadow(0 8px 8px rgba(0,0,0,.25))}
.hx-garlic{width:84px;left:47%;top:23%}
.hx-onion{width:58px;right:2.5%;top:24%}
.hx-onion2{width:44px;left:2%;bottom:7%}
.hx-basil{width:44px;right:3%;bottom:10%;transform:rotate(30deg)}
.hx-basil2{width:34px;left:50%;bottom:8%;transform:rotate(-40deg)}
.hx-pepper{width:96px;left:41%;bottom:5%}
.hx-pepper2{width:70px;left:2%;top:30%}
.hx-olive{width:22px;left:52%;top:50%}
.hx-olive2{width:20px;left:25%;bottom:5%}
.hx-olive3{width:24px;right:1.5%;top:50%}
@media (max-width:900px){
  .hx-garlic{width:48px;left:4%;top:20%}.hx-onion{width:34px;right:4%;top:19%}.hx-onion2{display:none}
  .hx-basil{width:30px;right:6%;bottom:3%}.hx-basil2{display:none}.hx-pepper{width:54px;left:auto;right:18%;bottom:3%}
  .hx-pepper2{display:none}.hx-olive{display:none}.hx-olive2{left:6%;bottom:3%}.hx-olive3{display:none}
}
.hx-pepper2{display:none}

@media (min-width:901px){.hx-onion{right:21%;top:17%;width:50px}.hx-olive3{right:1%;top:70%}}

/* Ingredients anchored to the pizza's own corners (outside the round pizza), so they never overlap it */
.hero__art{position:relative;width:min(440px,100%);margin-inline:auto}
.hero__art > img.spin{width:100%}
.ha{height:auto;filter:drop-shadow(0 8px 8px rgba(0,0,0,.25))}
.ha-onion{width:56px;top:-2%;right:-3%}
.ha-basil{width:44px;bottom:0;right:-2%;transform:rotate(30deg)}
.ha-olive{width:22px;top:2%;left:1%}
.ha-olive3{width:24px;bottom:4%;left:-2%}
@media (max-width:900px){.hero__art{width:240px}.ha-onion{width:34px}.ha-basil{width:30px}.ha-olive,.ha-olive3{width:16px}}
.hero__art .ha{margin:0;position:absolute;filter:drop-shadow(0 8px 8px rgba(0,0,0,.25))}
.hero__art .ha-onion{width:56px}.hero__art .ha-basil{width:44px}.hero__art .ha-olive{width:22px}.hero__art .ha-olive3{width:24px}
@media (max-width:900px){.hero__art .ha-onion{width:34px}.hero__art .ha-basil{width:30px}.hero__art .ha-olive,.hero__art .ha-olive3{width:16px}}
.hx-basil2{left:calc(41% + 112px)}.hero__art .ha-basil{right:0}
@media (max-width:900px){.hx-pepper,.hx-olive2,.hx-basil2{display:none}}

@media (min-width:901px) and (max-width:1100px){.hx-basil2{display:none}}

/* Fresh From The Oven row */
.pizza-row__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2.2rem}
.pizza-row__item{display:block;transition:transform .35s}
.pizza-row__item img{width:100%;height:auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.25))}
.pizza-row__item:hover{transform:translateY(-8px) rotate(-4deg)}
@media (max-width:900px){.pizza-row__grid{grid-template-columns:repeat(2,1fr)}}
/* Ice cream banner */
.ice{background-size:cover;background-position:left center;background-color:#eceae8;min-height:440px;display:flex;align-items:center}
.ice__in{display:flex;justify-content:flex-end;width:min(1160px,100% - 32px);margin-inline:auto}
.ice__text{width:min(460px,48%);padding:2rem 0}
.ice__text h2{color:var(--dark)}.ice__text p{color:#555;font-size:1.1rem}
.ice__text .script{color:var(--red)}
@media (max-width:900px){
  .ice{background-size:100% auto;background-position:top center;background-repeat:no-repeat;align-items:flex-start;padding-top:min(66vw,420px)}
  .ice__in{justify-content:center}.ice__text{width:100%;text-align:center;padding:1.5rem 0 2.5rem}
}
/* Ice cream: framed photo beside the text (nothing cropped by the section edges) */
.ice{background:var(--cream);min-height:0;display:block}
.ice .ice__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:center;justify-content:normal}
.ice__img{width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow)}
.ice__text{width:auto;padding:0}
@media (max-width:900px){.ice{padding-top:3rem}.ice .ice__in{grid-template-columns:1fr;gap:1.5rem}.ice__text{text-align:center}}
.menu-card__img{padding:.5rem}.menu-card__img img{padding:.9rem;object-fit:contain;max-height:100%}

/* ---- Single product page ---- */
.single-product .woo div.product{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:2.5rem 3.5rem;align-items:start}
.single-product .woo div.product > .woocommerce-tabs,.single-product .woo div.product > .related,.single-product .woo div.product > .upsells,.single-product .woo div.product > .woocommerce-notices-wrapper{grid-column:1/-1}
.single-product .woo div.product div.images{float:none!important;width:100%!important;margin:0!important;background:var(--cream);border-radius:24px;padding:1.2rem;position:relative}
.single-product .woo div.product div.images .woocommerce-product-gallery__image img{width:100%;max-height:400px;object-fit:contain;margin:0 auto}
.single-product .woo div.product div.images .flex-control-thumbs{display:flex;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}
.single-product .woo div.product div.images .flex-control-thumbs li{width:64px!important;float:none!important;background:#fff;border-radius:10px;padding:4px}
.single-product .woo div.product div.summary{float:none!important;width:100%!important;margin:0!important}
.single-product .woo .product_title{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:.3em}
.single-product .woo div.product p.price,.single-product .woo div.product span.price{color:var(--red)!important;font-size:1.6rem;font-weight:700}
.single-product .woo .woocommerce-product-details__short-description{color:var(--muted);margin-bottom:1.2rem}
.single-product .woo table.variations{border:0;margin:0 0 .6rem}
.single-product .woo table.variations th,.single-product .woo table.variations td{display:block;padding:0;border:0;text-align:left}
.single-product .woo table.variations th label{font-weight:700;color:var(--dark);margin:.4rem 0 .5rem;display:block}
.single-product .woo .reset_variations{display:inline-block;margin-top:.5rem;font-size:.85rem;color:var(--muted)}
/* Variant pills (built from the select by main.js) */
.fd-swatches{display:flex;flex-wrap:wrap;gap:.6rem}
.fd-swatch{appearance:none;border:2px solid #e3d9ce;background:#fff;color:var(--dark);font:inherit;font-weight:600;padding:.6em 1.4em;border-radius:50px;cursor:pointer;transition:.15s}
.fd-swatch:hover{border-color:var(--red)}
.fd-swatch[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 6px 14px rgba(215,38,30,.3)}
.fd-swatch:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.fd-has-swatches select{position:absolute;left:-9999px}
.single-product .woo .woocommerce-variation-price .price{display:block;margin:.8rem 0}
.single-product .woo form.cart{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1rem 0 1.5rem}
.single-product .woo form.cart.variations_form{display:block}
.single-product .woo .woocommerce-variation-add-to-cart{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.single-product .woo .quantity .qty{width:72px;padding:.7em;border:2px solid #e3d9ce;border-radius:50px;text-align:center;font:inherit}
.single-product .woo .single_add_to_cart_button{padding:.9em 2em!important;font-size:1rem!important}
.single-product .woo .product_meta{color:var(--muted);font-size:.9rem;border-top:1px solid #eee;padding-top:1rem}
.single-product .woo .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:.5rem;border-bottom:2px solid #eee;list-style:none}
.single-product .woo .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0}
.single-product .woo .woocommerce-tabs ul.tabs li a{padding:.7em 1.2em;display:block;color:var(--muted);font-weight:600}
.single-product .woo .woocommerce-tabs ul.tabs li.active a{color:var(--red);border-bottom:3px solid var(--red)}
.single-product .woo .woocommerce-tabs ul.tabs::before,.single-product .woo .woocommerce-tabs ul.tabs::after{display:none}
@media (max-width:800px){.single-product .woo div.product{grid-template-columns:1fr}.single-product .woo div.product div.images .woocommerce-product-gallery__image img{max-height:300px}}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}

.single-product .woo div.product>*{min-width:0}.single-product .woo div.product div.images{overflow:hidden}.single-product .woo table.variations{width:100%}

.single-product .woo .woocommerce-tabs ul.tabs{flex-wrap:wrap}

/* ---- Inner-page hero (light, like the home hero) + transparent header everywhere ---- */
.site-header{margin-bottom:-76px}
body:not(.home) .site-header{background:transparent;margin-bottom:-76px}
body:not(.home) .site-header.is-stuck{background:#fff}
.page-hero{background:#efefef;color:var(--dark);text-align:left;padding:calc(76px + 3.2rem) 0 5.5rem;position:relative;overflow:hidden}
.page-hero__sun{position:absolute;width:300px;height:300px;border-radius:50%;background:#ffd878;opacity:.55;right:16%;top:50%;transform:translateY(-35%)}
.page-hero__in{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.page-hero h1{color:var(--dark);font-size:clamp(2.4rem,5vw,4rem);margin:0 0 .25em}
.page-hero__text{max-width:640px}
.page-hero__text p{color:#555;margin:0;font-size:1.05rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-weight:600;color:#6f655f;padding-bottom:.6rem}
.crumbs a{color:#6f655f}.crumbs a:hover{color:var(--red)}
.crumbs__sep{opacity:.5}.crumbs__cur{color:var(--red)}
.page-hero .ph{height:auto;filter:drop-shadow(0 6px 6px rgba(0,0,0,.22));animation:float 7s ease-in-out infinite}
.ph-garlic{width:54px;left:3%;bottom:14px}
.ph-basil{width:34px;left:17%;bottom:20px;transform:rotate(-25deg)}
.ph-olive{width:15px;left:30%;bottom:18px}
.ph-pepper{width:56px;left:42%;bottom:10px}
.ph-onion{width:40px;left:58%;bottom:16px}
.ph-basil2{width:30px;left:72%;bottom:18px;transform:rotate(35deg)}
.ph-olive2{width:14px;left:88%;bottom:22px}
@media (max-width:900px){.page-hero__sun{width:180px;height:180px;right:-30px}.page-hero{padding-bottom:4.5rem}.ph-onion,.ph-basil2,.ph-pepper{display:none}.ph-garlic{width:40px}}
@media (prefers-reduced-motion:reduce){.page-hero .ph{animation:none}}
.single-product .woo .product_title{display:none}
.single-product .woo .woocommerce-product-details__short-description{display:none}

/* Scattered ingredients around the inner-page banner (edges and gaps, never over text) */
.page-hero__sun{display:none}
.page-hero{padding-bottom:4.5rem}
.page-hero .ph{bottom:auto;left:auto;right:auto;top:auto}
.ph-garlic{width:46px;left:20%;top:8px}
.ph-onion{width:44px;left:62%;top:96px}
.ph-basil{width:46px;right:-12px;top:38%;transform:rotate(70deg)}
.ph-olive{width:18px;left:-6px;top:42%}
.ph-pepper{width:58px;left:40%;bottom:8px}
.ph-basil2{width:32px;right:6%;bottom:12px;transform:rotate(35deg)}
.ph-olive2{width:15px;left:3%;bottom:26px}
@media (max-width:900px){
  .ph-garlic{left:4%;top:auto;bottom:10px;width:36px}.ph-onion,.ph-basil,.ph-basil2,.ph-pepper{display:none}.ph-olive2{left:20%}
}
.page-hero .ph-garlic{width:46px;left:20%;top:8px}
.page-hero .ph-onion{width:44px;left:62%;top:96px}
.page-hero .ph-basil{width:46px;right:-12px;top:38%;transform:rotate(70deg)}
.page-hero .ph-olive{width:18px;left:-6px;top:42%}
.page-hero .ph-pepper{width:58px;left:40%;bottom:8px}
.page-hero .ph-basil2{width:32px;right:6%;bottom:12px;transform:rotate(35deg)}
.page-hero .ph-olive2{width:15px;left:3%;bottom:26px}
@media (max-width:900px){
  .page-hero .ph-garlic{left:4%;top:auto;bottom:10px;width:36px}.page-hero .ph-olive2{left:20%}
}
.page-hero .ph-garlic{left:34%;top:12px}
@media (max-width:900px){.page-hero .ph-garlic{left:4%;top:auto;bottom:10px}}

@media (max-width:900px){.page-hero .ph-olive{left:-11px}}

/* Transparent header is for the home page only; inner pages keep a solid white header */
body:not(.home) .site-header{background:#fff;margin-bottom:0;box-shadow:0 2px 12px rgba(0,0,0,.06)}
body:not(.home) .page-hero{padding-top:3.2rem}
body:not(.home) .page-hero .ph-onion{top:60px}
.page-hero .ph-basil{top:14%;right:-14px}

.booking__pizza{display:block;width:min(420px,100%);height:auto;margin:1.5rem 0 0;filter:drop-shadow(0 22px 24px rgba(0,0,0,.5))}
@media (max-width:900px){.booking__pizza{margin-inline:auto;width:min(320px,90%)}}

/* Add-ons */
.fd-addons{border:0;padding:0;margin:0 0 1.2rem;width:100%}
.fd-addons legend{font-weight:700;color:var(--dark);margin-bottom:.6rem;padding:0}
.fd-addons__list{display:flex;flex-wrap:wrap;gap:.6rem}
.fd-addon{position:relative;cursor:pointer}
.fd-addon input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.fd-addon__pill{display:inline-block;border:2px solid #e3d9ce;background:#fff;border-radius:50px;padding:.5em 1.1em;font-weight:600;color:var(--dark);transition:.15s}
.fd-addon__pill em{font-style:normal;color:var(--red);font-weight:700;margin-left:.3em}
.fd-addon:hover .fd-addon__pill{border-color:var(--red)}
.fd-addon input:checked + .fd-addon__pill{background:var(--dark);border-color:var(--dark);color:#fff}
.fd-addon input:checked + .fd-addon__pill em{color:var(--gold)}
.fd-addon input:focus-visible + .fd-addon__pill{outline:3px solid var(--gold);outline-offset:2px}
.fd-addons__total{margin:.7rem 0 0;font-weight:700;color:var(--red)}
.single-product .woo form.cart .fd-addons{flex:1 0 100%}
.single-product .woo .woocommerce-variation-add-to-cart .fd-addons{flex:1 0 100%}
/* Transparent header on every page; inner banners use the cream from the reference (#efefef) */
body:not(.home) .site-header{background:transparent;margin-bottom:-76px;box-shadow:none}
body:not(.home) .site-header.is-stuck{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}
body:not(.home) .page-hero{padding-top:calc(76px + 3.2rem)}
body:not(.home) .page-hero .ph-onion{top:96px}
.page-hero{background:#efefef}
/* ================= Typography: Montserrat everywhere (as in the Pizzon reference) ================= */
body{font-family:'Montserrat',system-ui,sans-serif;font-weight:500;color:#777;line-height:1.7}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4{font-family:'Montserrat',system-ui,sans-serif;font-weight:700;letter-spacing:0;color:#111;line-height:1.2}
h1{font-size:clamp(2rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.15rem}
.brand__text{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase}
.primary-nav a{font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#111}
.btn{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}
.btn--lg{font-size:.9rem}
.price{font-weight:700}
.script{font-family:'Montserrat',sans-serif;font-weight:600;font-size:1rem;color:var(--red);display:block;margin-bottom:.5em}
.script::after{content:"";display:inline-block;width:64px;height:2px;background:currentColor;margin-left:.8rem;vertical-align:middle}
.section--dark .script,.hero .script{color:var(--red)}
.section__head .script::after{width:40px}
.menu-card h3{font-size:1.05rem}
.menu-card__cat{font-weight:600}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.crumbs{font-weight:500}
.footer__grid h3,.site-footer h4{font-size:1.1rem}
.site-footer .brand__text{color:#fff}
.feature h3,.post-card h3{font-size:1.1rem}
.strip__in{font-weight:600}

/* ================= Contact page ================= */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.contact__form input,.contact__form textarea{width:100%;padding:.95em 1.1em;border:1px solid #e6e1da;border-radius:10px;background:#fff;color:var(--dark);font:inherit;font-weight:500;transition:border-color .15s,box-shadow .15s}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:#8a8179}
.contact__form input:focus,.contact__form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,199,0,.25)}
.contact__form textarea,.contact__form button{grid-column:1/-1}
.contact__form textarea{resize:vertical;min-height:140px}
.contact__form button{justify-self:start}
.contact__art{background:var(--cream);border-radius:24px;padding:2rem;display:flex;align-items:center;justify-content:center}
.contact__art img{width:min(420px,100%);height:auto;filter:drop-shadow(0 20px 22px rgba(0,0,0,.25))}
.contact-info{padding-top:0}
.contact-info__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.info-card{background:#fff;border:1px solid #eee7dc;border-radius:18px;padding:1.8rem 1.5rem;text-align:center;box-shadow:var(--shadow)}
.info-card__icon{display:inline-flex;width:58px;height:58px;border-radius:50%;background:var(--cream);align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:.8rem}
.info-card h3{margin-bottom:.4rem}.info-card p{margin:0}.info-card a{color:#777}.info-card a:hover{color:var(--red)}
.contact-map{line-height:0}
.contact-map iframe{width:100%;height:clamp(300px,45vw,480px);border:0;display:block;filter:grayscale(.15)}
@media (max-width:900px){.contact__grid{grid-template-columns:1fr;gap:2rem}.contact__art{order:-1}.contact__form{grid-template-columns:1fr}}
@media (max-width:600px){.brand__text{font-size:1rem}.header__in{gap:.6rem}.header__cta{gap:.5rem}}
@media (max-width:380px){.brand__text{font-size:.9rem}}

/* Contact cards: outline icon on the left, text on the right (like the Pizzon contact page) */
.info-card{display:flex;align-items:flex-start;gap:1.1rem;text-align:left;padding:1.6rem 1.5rem}
.info-card .line-icon{flex:0 0 50px;width:50px;height:50px;color:#f22e3e}
.info-card h3{font-size:1.1rem;margin:0 0 .35rem}
.info-card p{margin:0;line-height:1.7}
/* Green chili, anchored to the pizza's top-left corner */
.hero__art .ha-chili{width:96px;top:-2%;left:-9%;transform:rotate(-18deg)}
@media (max-width:900px){.hero__art .ha-chili{width:56px;left:-6%;top:-3%}}
.hero__art .ha-olive{display:none}

@media (min-width:901px) and (max-width:1100px){.hx-garlic{display:none}}

/* Footer in the button red */
.site-footer{background:var(--red);color:rgba(255,255,255,.9)}
.site-footer h3,.site-footer h4,.site-footer .brand__text{color:#fff}
.site-footer a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.site-footer a:hover{color:var(--gold);text-decoration-color:var(--gold)}
.footer-menu a,.site-footer .social a{text-decoration:none}
.site-footer p{color:rgba(255,255,255,.9)}
.footer__bar{background:var(--red-d);border-top:0;color:rgba(255,255,255,.85)}
/* Softer, lighter footer red (white text still passes contrast) */
.site-footer{background:#c4504a}
.footer__bar{background:#ad423d}

/* ---- Menu thumbnails: every dish sits in the same round frame (like the Pizzon menu) ---- */
.menu-card{border:1px solid #eee7dc;border-radius:28px;box-shadow:none;text-align:center;background:#fff}
.menu-card:hover{box-shadow:var(--shadow)}
.menu-card .menu-card__img{aspect-ratio:1/1;width:calc(100% - 2.4rem);margin:1.2rem 1.2rem 0;padding:0;border-radius:50%;background:#efefef;display:flex;align-items:center;justify-content:center;overflow:hidden}
.menu-card .menu-card__img img{width:80%;height:80%;max-height:none;padding:0;object-fit:contain}
.menu-card .menu-card__img .fd-emoji{font-size:clamp(3.5rem,8vw,5rem)}
.menu-card__body{align-items:center}
.menu-card__foot{flex-direction:column;justify-content:center;gap:.7rem;width:100%}
.menu-card p{max-width:30ch}
/* ================= Home body pattern (after the Pizzon home page) =================
   light sections that alternate white / cream, left-aligned headings with a red tag line,
   and real ingredient cutouts tucked into the section edges. */
.section__head{text-align:left}
.section__head .script{margin-bottom:.4em}
.has-decor{position:relative;overflow:hidden}
.has-decor .container{position:relative;z-index:1}
.sd{height:auto;filter:drop-shadow(0 8px 8px rgba(0,0,0,.2))}
.sd-onion-r{width:62px;right:-30px;top:14%}
.sd-pepper-l{width:84px;left:-44px;top:4%}
.sd-basil-r{width:52px;right:-26px;top:5%;transform:rotate(70deg)}
.sd-garlic-r{width:76px;right:-38px;top:12%}
.sd-olive-l{width:20px;left:8px;bottom:14%}
.sd-chili-r{width:110px;right:-52px;top:6%;transform:rotate(25deg)}
.sd-basil-l{width:58px;left:-30px;top:8%;transform:rotate(-30deg)}
.sd-olive-r2{width:20px;right:8px;bottom:10%}
.sd-pepper-r{width:84px;right:-44px;top:6%}
@media (max-width:1199px){.sd{display:none}}

.intro__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
.intro__art{background:#efefef;border-radius:50%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;max-width:460px;width:100%;margin-inline:auto}
.intro__art img{width:92%;height:auto;filter:drop-shadow(0 22px 22px rgba(0,0,0,.25))}
@media (max-width:900px){.intro__grid{grid-template-columns:1fr;gap:2rem}}

.feature,.section--cream .feature{background:transparent;padding:1rem}
.feature>span{display:inline-flex;width:76px;height:76px;border-radius:50%;background:#fff;align-items:center;justify-content:center;font-size:2rem;box-shadow:var(--shadow);margin-bottom:.8rem}

.booking{grid-template-columns:1.05fr .95fr;align-items:center}
.booking__form input,.booking__form select{border:1px solid #e6e1da;color:var(--dark)}
.booking__form input:focus,.booking__form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,199,0,.25);outline:0}
.booking__form{margin-top:1.2rem}
.booking__art{display:flex;justify-content:center}
.booking__pizza{margin:0;width:min(520px,100%)}
@media (max-width:900px){.booking{grid-template-columns:1fr}.booking__art{order:-1}}
.story__art img{filter:drop-shadow(0 20px 22px rgba(0,0,0,.25))}
:root{--cream:#efefef}

@media (max-width:1359px){.sd{display:none}}

/* ---- Menu slider (Pizzon-style carousel) ---- */
.menu-slider{position:relative}
.menu-track{display:flex;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:.4rem .2rem 1rem}
.menu-track::-webkit-scrollbar{display:none}
.menu-track .menu-card{flex:0 0 calc((100% - 3 * 1.6rem) / 4);scroll-snap-align:start;border:0;background:transparent;text-align:left;box-shadow:none;border-radius:0;overflow:visible}
.menu-track .menu-card:hover{box-shadow:none;transform:none}
.menu-track .menu-card .menu-card__img{width:100%;margin:0 0 1.1rem;transition:transform .35s ease}
.menu-track .menu-card:hover .menu-card__img{transform:scale(1.05)}
.menu-track .menu-card__body{align-items:flex-start;padding:0;gap:.15rem}
.menu-track .menu-card h3{font-size:1.2rem;font-weight:600;margin:0}
.menu-track .menu-card .price{font-size:1.15rem;color:var(--red);margin:.1rem 0}
.menu-track .menu-card p{margin:.4rem 0 .9rem;max-width:none;font-size:.92rem}
.slider-ui{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.4rem}
.slider-arrow{width:44px;height:44px;border-radius:50%;border:2px solid var(--red);background:#fff;color:var(--red);font-size:1.6rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 0 3px;transition:.15s}
.slider-arrow:hover{background:var(--red);color:#fff}
.slider-dots{display:flex;gap:.55rem;align-items:center}
.slider-dots button{width:11px;height:11px;border-radius:50%;border:0;background:#e4d8c8;padding:0;cursor:pointer;transition:.2s}
.slider-dots button.is-on{background:var(--red);transform:scale(1.25)}
@media (max-width:1000px){.menu-track .menu-card{flex-basis:calc((100% - 2 * 1.6rem) / 3)}}
@media (max-width:760px){.menu-track .menu-card{flex-basis:calc((100% - 1.6rem) / 2)}}
@media (max-width:520px){.menu-track .menu-card{flex-basis:78%}.slider-dots{display:none}}
/* No tinted disc behind the dishes - just the photo with a soft neutral shadow */
.menu-card .menu-card__img{background:transparent}
.menu-card .menu-card__img img{filter:drop-shadow(0 12px 14px rgba(0,0,0,.18))}

/* Slider arrows sit at the top right of the section heading (as on the Pizzon menu) */
.section__head.has-nav{display:grid;grid-template-columns:1fr auto;column-gap:1rem;align-items:center}
.section__head.has-nav > .script,.section__head.has-nav > h2{grid-column:1}
.section__head.has-nav > .slider-nav{grid-column:2;grid-row:1 / span 2}
.slider-nav{display:flex;gap:.7rem}
.slider-nav .slider-arrow{width:50px;height:50px;border:0;background:var(--red);color:#fff;font-size:1.5rem;padding:0 0 2px;box-shadow:0 6px 14px rgba(215,38,30,.28)}
.slider-nav .slider-arrow:hover{background:var(--red-d);color:#fff}
.slider-ui{display:none}
@media (max-width:520px){.slider-nav .slider-arrow{width:42px;height:42px;font-size:1.25rem}}
/* Our Strength: outline icons above left-aligned text (as on the Pizzon page) */
.feature{text-align:left;padding:.5rem 1rem 1rem 0}
.feature__icon{display:block;width:62px;height:62px;color:#f22e3e;margin-bottom:1rem}
.feature h3{font-size:1.4rem;font-weight:600;color:#1d1d1d;margin:0 0 .4rem}
.feature p{font-size:1.02rem;color:#777;margin:0}

/* Ice cream and drink photos are tightly trimmed, so shrink them to match the pizza's visual size */
.menu-card--ice-cream .menu-card__img img{width:60%;height:60%}
.menu-card--ice-cream .menu-card__img img{width:70%;height:70%}
.menu-card--drinks .menu-card__img img{width:71%;height:71%}

/* ---- News (after the Pizzon blog block): one featured post + a list of three ---- */
.news{display:grid;grid-template-columns:1.05fr 1fr;gap:2.8rem;align-items:start}
.news-thumb{display:block;border-radius:18px;overflow:hidden;background:#fff}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.news-thumb:hover img{transform:scale(1.06)}
.news-thumb--ph{background:#efefef;display:flex;align-items:center;justify-content:center}
.news-thumb--ph img{object-fit:contain;width:72%;height:auto;max-height:90%}
.news-feature .news-thumb{aspect-ratio:582/317}
.news-feature__body{padding-top:1.3rem}
.news-date{color:var(--red);font-weight:600;font-size:.9rem}
.news-feature h3{font-size:1.45rem;line-height:1.3;margin:.4rem 0 1rem}
.news h3 a,.news h4 a{color:var(--dark)}.news h3 a:hover,.news h4 a:hover{color:var(--red)}
.news-author{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.news-author img{width:74px;height:74px;border-radius:50%;flex:0 0 74px}
.news-author strong{color:var(--dark);display:block}
.news-author p{margin:.2rem 0 0;font-size:.93rem}
.news-more{color:var(--red);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.news-more:hover{color:var(--red-d)}
.news-list{display:grid;gap:1.8rem}
.news-row{display:grid;grid-template-columns:minmax(0,271px) 1fr;gap:1.4rem;align-items:center}
.news-row .news-thumb{aspect-ratio:271/148}
.news-row h4{font-size:1.1rem;line-height:1.35;margin:.3rem 0 .6rem}
@media (max-width:900px){.news{grid-template-columns:1fr}}
@media (max-width:520px){.news-row{grid-template-columns:1fr}}

/* ---- Footer: four link columns, newsletter, policy row (after the Pizzon footer) ---- */
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;padding:3.5rem 0 2.2rem}
.site-footer h4{font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:#fff}
.footer-list{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem}
.footer-list a{text-decoration:none;font-weight:500}
.footer-list a:hover{color:var(--gold)}
.footer-news__text{margin:1rem 0 .7rem;font-size:.95rem}
.footer-news{display:flex;gap:.5rem;flex-wrap:wrap}
.footer-news input[type=email]{flex:1 1 150px;min-width:0;padding:.7em 1em;border:0;border-radius:50px;font:inherit;font-size:.9rem}
.footer-news button{background:var(--gold);color:#111;border:0;border-radius:50px;padding:.7em 1.4em;font:inherit;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.15s}
.footer-news button:hover{background:#fff}
.footer-news__ok{margin:0 0 .6rem;font-weight:700;color:#fff;background:rgba(255,255,255,.18);padding:.4em .9em;border-radius:10px;display:inline-block}
.footer__policy{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:center;padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.25)}
.footer-policy{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;flex-wrap:wrap}
.footer-policy a{text-decoration:none;font-size:.9rem}
.footer__contact{margin:0;font-size:.9rem}
@media (max-width:900px){.footer__cols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.footer__cols{grid-template-columns:1fr;gap:1.6rem}}
.news-thumb--ph{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}

.ice{background:#fff}

/* Section after the hero (Pizzon "Daily fresh and always tasty"): picture left, heading + one paragraph right */
.intro{padding:clamp(4rem,9vw,7rem) 0}
.intro__grid{grid-template-columns:minmax(0,409px) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);justify-content:center;align-items:center}
.intro__art{background:transparent;border-radius:0;aspect-ratio:auto;max-width:409px;display:block;margin:0}
.intro__art img{width:100%;height:auto;filter:drop-shadow(0 22px 22px rgba(0,0,0,.22))}
.intro__text{max-width:420px}
.intro__text h3{font-size:clamp(1.5rem,2.6vw,1.75rem);font-weight:600;margin:0 0 1rem;color:#111}
.intro__text p{font-size:1.1rem;color:#777;margin:0}
@media (max-width:900px){.intro__grid{grid-template-columns:1fr;text-align:center}.intro__art{margin-inline:auto}.intro__text{margin-inline:auto}}
/* ---- Blur transition: the bottom of the hero melts into the white section below ---- */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
.hero{padding-bottom:calc(clamp(3rem,8vw,6rem) + 20px)}

/* Ingredients in the second section; a few drift up across the blur so the two sections feel joined */
.intro{overflow-x:clip;overflow-y:visible;position:relative;z-index:3}
.idec{height:auto;filter:drop-shadow(0 8px 8px rgba(0,0,0,.2))}
.intro .idec-chili{width:92px;left:16%;top:-34px;transform:rotate(-20deg)}
.intro .idec-basil{width:46px;left:57%;top:-18px;transform:rotate(60deg)}
.intro .idec-olive{width:18px;left:7%;top:46px}
.intro .idec-pepper{width:60px;left:31%;bottom:14px}
.intro .idec-garlic{width:60px;left:63%;bottom:12px}
.intro .idec-onion{width:48px;right:7%;top:36px}
.intro .idec-olive2{width:16px;left:12%;bottom:30px}
.intro .idec-basil2{width:36px;right:14%;bottom:22px;transform:rotate(-35deg)}
@media (max-width:900px){.intro .idec-olive,.intro .idec-pepper,.intro .idec-onion,.intro .idec-olive2,.intro .idec-basil2{display:none}.intro .idec-chili{width:64px;left:8%;top:-24px}.intro .idec-basil{width:34px;left:auto;right:10%}.intro .idec-garlic{width:44px;left:8%;bottom:8px}}
@media (prefers-reduced-motion:no-preference){.idec{animation:float 7s ease-in-out infinite}.idec:nth-of-type(even){animation-delay:-3s}}
@media (min-width:901px) and (max-width:1100px){.hx-olive2{display:none}}

/* Fewer, non-repeating ingredients around the hero and the section below it */
.intro .idec-pepper{width:72px;left:18%;top:-36px;transform:rotate(-12deg);bottom:auto}
.intro .idec-garlic{width:58px;left:auto;right:20%;bottom:18px;top:auto}
@media (max-width:900px){.intro .idec-pepper{width:52px;left:8%;top:-26px}.intro .idec-garlic{width:44px;left:auto;right:10%;bottom:8px}}
/* ---- Menu cards like the Pizzon ones: outlined rounded card, plain square photo, full-width button ---- */
.menu-track .menu-card{border:.8px solid #e4ded9;border-radius:30px;padding:1.7rem 1.6rem 2rem;background:#fff;box-shadow:none;overflow:hidden}
.menu-track .menu-card:hover{box-shadow:0 14px 30px rgba(0,0,0,.08)}
.menu-track .menu-card .menu-card__img{border-radius:0;background:transparent;aspect-ratio:1/1;width:100%;margin:0 0 1.1rem;padding:0;overflow:visible}
.menu-track .menu-card .menu-card__img img{width:96%;height:96%;object-fit:contain;filter:none;padding:0}
.menu-track .menu-card--ice-cream .menu-card__img img{width:84%;height:84%}
.menu-track .menu-card--drinks .menu-card__img img{width:86%;height:86%}
.menu-track .menu-card .menu-card__img .fd-emoji{font-size:clamp(4rem,9vw,6rem)}
.menu-track .menu-card__body{align-items:stretch;gap:0}
.menu-track .menu-card h3{font-size:1.35rem;font-weight:600;margin:0 0 .3rem}
.menu-track .menu-card .price{align-self:flex-end;font-size:1.05rem;font-weight:500;color:#777;margin:0}
.menu-track .menu-card .stars{margin:.2rem 0 .6rem}
.menu-track .menu-card p{margin:0 0 1.2rem}
.menu-track .menu-card .btn{display:block;width:100%;text-align:center;margin-top:auto;padding:.8em 1em;font-size:.82rem}
.menu-track .menu-card--drinks .menu-card__img img{width:78%;height:78%}

.menu-track .menu-card--drinks .menu-card__img img{width:90%;height:90%}

.menu-track .menu-card--drinks .menu-card__img img{width:84%;height:84%}

/* White footer */
.site-footer{background:#fff;color:#777;border-top:1px solid #eee7dc}
.site-footer h3,.site-footer h4,.site-footer .brand__text{color:#111}
.site-footer p,.site-footer .footer__contact,.footer-news__text{color:#777}
.site-footer a,.footer-list a,.footer-policy a{color:#555;text-decoration:none}
.site-footer a:hover,.footer-list a:hover{color:var(--red)}
.footer__policy{border-top:1px solid #eee7dc}
.footer__bar{background:#efefef;color:#777;border-top:0}
.footer-news input[type=email]{border:1px solid #e4ded9;background:#fff;color:#111}
.footer-news input[type=email]:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,199,0,.25)}
.footer-news button{background:var(--red);color:#fff}
.footer-news button:hover{background:var(--red-d);color:#fff}
.footer-news__ok{color:#1f6b3a;background:#e8f5ec}
/* Hero pizza on a wooden board: static (no spin), a little wider than the old round pizza */
.hero__art{width:min(580px,100%)}
.hero__art > img.board{width:100%;height:auto;margin:0;animation:none;filter:drop-shadow(0 26px 26px rgba(0,0,0,.28))}
.hero__art .ha-chili{top:-12%;left:-4%}
.hero__art .ha-basil{bottom:-4%;right:-2%}
.hero__art .ha-olive3{bottom:2%;left:2%}
@media (max-width:900px){.hero__art{width:min(340px,100%)}.hero__art > img.board{width:100%}.hero__art .ha-chili{top:-14%;left:0}}
/* Header floats over the hero/banner (no top bar any more, so no negative-margin trick) */
.site-header,body:not(.home) .site-header{position:fixed;top:0;left:0;right:0;margin-bottom:0;z-index:60}
/* Preview: flying slices in the hero (the corner decorations are hidden because the photo has its own basil) */
.hero__art{width:min(500px,100%)}
.hero__art .ha{display:none}
.hero__art > img.board{filter:drop-shadow(0 24px 24px rgba(0,0,0,.22))}
@media (max-width:900px){.hero__art{width:min(320px,100%)}}
.menu-track .menu-card--drinks .menu-card__img img{width:94%;height:94%}

.menu-track .menu-card--drinks .menu-card__img img{width:88%;height:88%}

/* Yellowish footer + social icons */
.site-footer{background:#efefef;border-top:0}
.footer__policy{border-top:1px solid rgba(0,0,0,.08)}
.footer__bar{background:#e2e2e2;color:#6b5d3e}
.footer-social{display:flex;gap:.7rem;margin:0 0 1.2rem}
.footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;color:#111;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:.15s}
.footer-social a:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.footer-news input[type=email]{border-color:#eadfc0}
/* ================= Typography scale mapped from the Pizzon home page (Montserrat) =================
   body 18/32 500 #777 · H1 58 700 · H2 40 700 · H3 28 600 · H4 24 600 · H5 22 600 · H6 18 700
   nav 18 600 uppercase · tag lines 22 600 red · hero text 22/38 · buttons 500 */
body{font-size:1.125rem;line-height:1.78;font-weight:500;color:#777}
h1{font-size:clamp(2.1rem,4.6vw,3.625rem);line-height:1.16;font-weight:700}
h2{font-size:clamp(1.75rem,3.3vw,2.5rem);line-height:1.25;font-weight:700}
h3{font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.36;font-weight:600}
h4{font-size:1.5rem;line-height:1.3;font-weight:600;color:#1d1d1d}
h5{font-size:1.375rem;line-height:1.3;font-weight:600}
h6{font-size:1.125rem;line-height:1.67;font-weight:700}
.hl{color:#f22e3e}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.625rem);line-height:1.16}
.hero p{font-size:clamp(1.05rem,1.7vw,1.375rem);line-height:1.73;font-weight:500;color:#777}
.page-hero h1{font-size:clamp(2rem,4.2vw,2.5rem)}
.script{font-size:1.375rem;font-weight:600;line-height:1.2;color:#f22e3e}
.primary-nav a{font-size:clamp(.8rem,1.3vw,1.125rem);font-weight:600;letter-spacing:0;transition:color .5s}
.primary-nav .menu{gap:clamp(1rem,2vw,2rem)}
.btn{font-size:1rem;font-weight:500;letter-spacing:0}
.btn--lg{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500;padding:.75em 1.7em}
.btn--small{font-size:1rem}
.menu-track .menu-card h3{font-size:1.375rem;font-weight:600;line-height:1.3}
.menu-track .menu-card .price{font-size:1.125rem;font-weight:500}
.menu-track .menu-card p{font-size:1rem;line-height:1.7}
.menu-track .menu-card .btn{font-size:1rem;font-weight:500}
.feature h3{font-size:1.5rem;font-weight:600;color:#1d1d1d}
.feature p{font-size:1.125rem}
.intro__text h3{font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:600}
.intro__text p{font-size:1.125rem;line-height:1.78}
.footer-list a,.footer-policy a{font-size:1rem;font-weight:500}
.site-footer h4{font-size:1.125rem;font-weight:600;color:#111}
.crumbs{font-size:1.125rem;font-weight:600}
.news-feature h3,.news h4{font-weight:700}
.news-feature h3{font-size:1.125rem;line-height:1.67}
.news h4{font-size:1.125rem;line-height:1.67}
.info-card h3{font-size:1.5rem;font-weight:600}

/* ================= Animation pattern (Pizzon uses scroll-triggered fadeInUp / fadeInLeft / fadeInRight, 1.25s,
   second column delayed 0.5s, hover "grow" 1.1 in 0.3s) ================= */
body{overflow-x:clip}
@keyframes fdFadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}100%{opacity:1;transform:none}}
@keyframes fdFadeInLeft{0%{opacity:0;transform:translate3d(-100%,0,0)}100%{opacity:1;transform:none}}
@keyframes fdFadeInRight{0%{opacity:0;transform:translate3d(100%,0,0)}100%{opacity:1;transform:none}}
.js .rv{opacity:0}
.js .rv.is-in{opacity:1;animation:fdFadeInUp 1.25s both}
.js .rv--left.is-in{animation-name:fdFadeInLeft}
.js .rv--right.is-in{animation-name:fdFadeInRight}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1}.js .rv.is-in{animation:none}}
.menu-card .menu-card__img,.menu-track .menu-card .menu-card__img{transition:transform .3s}
.menu-track .menu-card:hover .menu-card__img{transform:scale(1.1)}
.menu-card .menu-card__img img{transition:transform .4s}
.btn{transition:background .3s,color .3s,border-color .3s,transform .3s}
/* Ingredients are back around the hero pizza and in the second section */
.hero__art .ha{display:block}
.hero__art .ha-chili{width:92px;top:4%;left:-15%;transform:rotate(-24deg)}
.hero__art .ha-onion{width:60px;top:-3%;right:-9%}
.hero__art .ha-basil{width:52px;bottom:6%;left:-11%;transform:rotate(-35deg)}
.hero__art .ha-olive3{width:22px;bottom:1%;right:-5%;left:auto}
.hero__art .ha-olive{display:none}
@media (max-width:900px){.hero__art .ha-chili{width:56px;left:-4%;top:-6%}.hero__art .ha-onion{width:38px;right:-3%}.hero__art .ha-basil{width:36px;left:-3%}.hero__art .ha-olive3{width:16px;right:-1%}}
.intro .idec-basil{left:58%;top:-18px;width:46px}
.intro .idec-onion{right:7%;top:34px;width:48px}
.intro .idec-olive{left:7%;top:50px;width:18px}
@media (max-width:900px){.intro .idec-onion,.intro .idec-olive{display:none}.intro .idec-basil{display:block;width:34px;left:auto;right:10%}}
/* ================= Product photos never touch the edge of their frame (cards, shop, product page, cart) ================= */
/* home menu cards: a little more breathing room */
.menu-track .menu-card .menu-card__img img{width:88%;height:88%}
.menu-track .menu-card--ice-cream .menu-card__img img{width:78%;height:78%}
.menu-track .menu-card--drinks .menu-card__img img{width:80%;height:80%}
/* shop / category pages */
.woo ul.products li.product a img.attachment-woocommerce_thumbnail,.woo ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:9%;background:#efefef;border-radius:20px;box-sizing:border-box;margin:0 0 .8rem}
/* single product gallery: square frame, image inset on every side */
.single-product .woo div.product div.images{padding:1rem}
.single-product .woo div.product div.images .woocommerce-product-gallery__image{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.single-product .woo div.product div.images .woocommerce-product-gallery__image a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.single-product .woo div.product div.images .woocommerce-product-gallery__image img{width:100%;height:100%;max-height:none;object-fit:contain;padding:10%;box-sizing:border-box}
.single-product .woo div.product div.images .woocommerce-product-gallery__trigger{top:.9rem;right:.9rem}
/* cart + checkout thumbnails */
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img,.woocommerce-cart-form img.attachment-woocommerce_thumbnail{object-fit:contain;padding:5px;background:#efefef;border-radius:12px;box-sizing:border-box}
/* No tinted background behind product photos (shop, product page, cart): just the dish on the white card */
.woo ul.products li.product a img.attachment-woocommerce_thumbnail,.woo ul.products li.product a img{background:transparent;border-radius:0;aspect-ratio:1/1;object-fit:contain;padding:9%}
.single-product .woo div.product div.images{background:transparent;padding:0;border-radius:0}
.single-product .woo div.product div.images .woocommerce-product-gallery__image img{background:transparent}
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img,.woocommerce-cart-form img.attachment-woocommerce_thumbnail{background:transparent;border-radius:0}
/* tightly cropped cut-outs get a little more room so every dish reads the same size */
.woo ul.products li.product.product_cat-drinks img,.woo ul.products li.product.product_cat-ice-cream img{padding:13%}

/* Footer contact icons */
.footer__contact{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;align-items:center}
.fc-item{display:inline-flex;align-items:center;gap:.55rem;color:#555}
.fc-icon{flex:0 0 20px;color:#f22e3e}

/* Deep yellow hover on every button */
:root{--deep-yellow:#f2a900}
.btn:hover,.btn:focus-visible,
.btn--ghost:hover,.section .btn--ghost:hover,.hero .btn--ghost:hover,
.slider-nav .slider-arrow:hover,.slider-arrow:hover,
.footer-news button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #respond input#submit:hover,.woo .button:hover,
.single_add_to_cart_button:hover,.wc-block-components-button:hover,.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{
  background:var(--deep-yellow)!important;border-color:var(--deep-yellow)!important;color:#111!important}
.footer-social a:hover{background:var(--deep-yellow);color:#111}
.slider-nav .slider-arrow:hover{box-shadow:0 6px 14px rgba(242,169,0,.35)}
/* Home delivery highlight band */
.delivery{background:var(--red);color:#fff;padding:clamp(2.2rem,5vw,3.4rem) 0}
.delivery__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.delivery__text{display:flex;gap:1.4rem;align-items:center}
.delivery__text .line-icon{flex:0 0 78px;width:78px;height:78px;color:#fff}
.delivery__tag{display:block;font-weight:600;font-size:1.125rem;color:#ffe08a;margin-bottom:.3rem}
.delivery h2{color:#fff;margin:0 0 .4rem}
.delivery p{color:rgba(255,255,255,.92);margin:0}
.delivery__cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end}
.delivery__phones{flex:1 0 100%;text-align:right;font-size:.95rem;margin-top:.2rem!important}
.btn--white{background:#fff;color:var(--red);border-color:#fff}
.btn--outline-white{background:transparent;color:#fff;border-color:#fff}
@media (max-width:900px){.delivery__grid{grid-template-columns:1fr}.delivery__cta{justify-content:flex-start}.delivery__phones{text-align:left}.delivery__text .line-icon{flex-basis:56px;width:56px;height:56px}}
/* wide side-dish photo: keep clear of the frame edges */
.menu-track .menu-card--sides .menu-card__img img{width:80%;height:80%}
.woo ul.products li.product.product_cat-sides img{padding:12%}

/* Blur merge between "Baked to order" (grey) and "Something sweet" (white), same idea as under the hero */
.pizza-row{position:relative;overflow:hidden;padding-bottom:calc(clamp(3rem,7vw,5.5rem) + 28px)}
.pizza-row::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
.pizza-row .container{position:relative;z-index:3}
.pizza-row .container{z-index:1}

/* Blur merge between "Our story" (grey) and "Why us" (white) */
#story{padding-bottom:calc(clamp(3rem,7vw,5.5rem) + 28px)}
#story::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
/* Blur merge between "Something sweet" (white) and "Our story" (grey) */
.ice{position:relative;overflow:hidden;padding-bottom:calc(clamp(3rem,7vw,5.5rem) + 28px)}
.ice::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(239,239,239,0),#efefef);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
.ice .container{position:relative;z-index:1}
/* Blur merge between "Why us" (white) and "Testimonials" (grey) */
#story + section{padding-bottom:calc(clamp(3rem,7vw,5.5rem) + 28px)}
#story + section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(239,239,239,0),#efefef);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
/* Blur merge between "Testimonials" (grey) and "Reservation" (white) */
#story + section + section{padding-bottom:calc(clamp(3rem,7vw,5.5rem) + 28px)}
#story + section + section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
/* Reveal animation must not freeze the element's transform afterwards (it was overriding hover effects) */
.js .rv.is-in{animation-fill-mode:backwards}

/* "Baked to order": every pizza reacts on its own when hovered */
.pizza-row__item{transition:transform .4s cubic-bezier(.2,.8,.2,1);will-change:transform}
.pizza-row__item img{transition:filter .4s ease}
.pizza-row__item:nth-child(odd):hover,.pizza-row__item:nth-child(odd):focus-visible{transform:translateY(-12px) rotate(-8deg) scale(1.08)}
.pizza-row__item:nth-child(even):hover,.pizza-row__item:nth-child(even):focus-visible{transform:translateY(-12px) rotate(8deg) scale(1.08)}
.pizza-row__item:hover img,.pizza-row__item:focus-visible img{filter:drop-shadow(0 26px 24px rgba(0,0,0,.32))}
@media (prefers-reduced-motion:reduce){.pizza-row__item,.pizza-row__item img{transition:none}.pizza-row__item:hover{transform:none}}
/* Contact info is plain icon + text, not cards */
.info-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:.5rem 1rem .5rem 0}
.contact-info__grid{gap:2rem}

/* Contact page photo: a full picture with rounded corners instead of a cut-out on a card */
.contact__grid{align-items:stretch}
.contact__art{background:transparent;padding:0;border-radius:24px;overflow:hidden;display:block;min-height:320px;box-shadow:var(--shadow)}
.contact__art img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:50% 55%;border-radius:0;filter:none;display:block}
@media (max-width:900px){.contact__art{min-height:260px}.contact__art img{min-height:260px;aspect-ratio:3/2}}
/* No zoom or lightbox on product photos */
.woocommerce-product-gallery__trigger{display:none!important}
.single-product .woocommerce-product-gallery__image a{pointer-events:none;cursor:default}
.single-product .woocommerce-product-gallery__image img{cursor:default}
/* Blur merge under every inner-page banner (shop/menu, product, contact, cart, checkout, posts) */
.page-hero{padding-bottom:6.6rem}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 85%);mask-image:linear-gradient(to bottom,transparent 0%,#000 85%)}
.page-hero__in{position:relative;z-index:1}
@media (max-width:900px){.page-hero{padding-bottom:5.6rem}}
/* Menu page: no duplicate title, and WooCommerce's clearfix pseudo-elements must not take up grid cells */
.woo .woocommerce-products-header__title{display:none}
.woo ul.products::before,.woo ul.products::after{display:none!important;content:none!important}

.woo > h1.page-title,.woo .woocommerce-products-header h1,.woo h1.page-title{display:none}

/* Floating ingredients always sit above the blur merge */
.decor{z-index:3}
.hero .container{z-index:auto}
.page-hero__in{z-index:1}
/* clear-glass drinks need a soft shadow so they do not disappear on white */
.menu-track .menu-card--drinks .menu-card__img img,.woo ul.products li.product.product_cat-drinks img,.single-product .product_cat-drinks .woocommerce-product-gallery__image img{filter:drop-shadow(0 10px 12px rgba(0,0,0,.22))}


/* "Our story": looping video behind the section, darkened so the text and buttons stay readable */
#story{background:#111;color:#fff}
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.bg-shade{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,8,.8) 0%,rgba(8,8,8,.64) 45%,rgba(8,8,8,.74) 100%)}
#story .container{position:relative;z-index:1}
#story h2{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
#story p{color:rgba(255,255,255,.92)}
#story .script{color:#ffd27a}
#story .story__art img{filter:drop-shadow(0 22px 26px rgba(0,0,0,.6))}
@media (prefers-reduced-motion:reduce){.bg-video{display:none}#story{background:#1b1b1b}}
/* ================= Cart + checkout (WooCommerce blocks), dressed to match the site ================= */
body .wc-block-components-sidebar-layout{gap:2.2rem}
body .wc-block-cart,body .wc-block-checkout{font-family:inherit;color:#555}

/* cart: items list as a card */
body .wc-block-cart__main{background:#fff;border:1px solid #eee7dc;border-radius:24px;padding:1.2rem 1.6rem;box-shadow:0 10px 30px rgba(0,0,0,.05)}
body table.wc-block-cart-items{border:0;margin:0;border-collapse:separate;border-spacing:0}
body .wc-block-cart-items th,body .wc-block-cart-items__header th{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a8179;border-bottom:1px solid #eee7dc;padding:.8rem .5rem}
body .wc-block-cart-items__row td{padding:1.4rem .5rem;border-top:1px solid #f3eee6;vertical-align:top}
body .wc-block-cart-items__row:first-child td{border-top:0}
body .wc-block-cart-item__image img{width:92px;height:92px;object-fit:contain;padding:6px;border-radius:0;background:transparent}
body .wc-block-components-product-name{font-size:1.2rem;font-weight:700;color:#111;text-decoration:none}
body .wc-block-components-product-name:hover{color:var(--red)}
body .wc-block-components-product-price__value,body .wc-block-cart-item__total .wc-block-components-product-price__value{color:var(--red);font-weight:700}
body .wc-block-components-product-metadata{color:#8a8179;font-size:.95rem}
body .wc-block-components-product-metadata__description{margin:.2rem 0 .6rem}
body .wc-block-components-quantity-selector{border:2px solid #e3d9ce;border-radius:50px;background:#fff;overflow:hidden;width:112px}
body .wc-block-components-quantity-selector::after{display:none}
body .wc-block-components-quantity-selector__input{font-weight:700;color:#111}
body .wc-block-components-quantity-selector__button{color:var(--red);opacity:1}
body .wc-block-components-quantity-selector__button:hover{background:#efefef}
body .wc-block-cart-item__remove-link{color:var(--red);font-weight:600;font-size:.88rem;text-decoration:none}
body .wc-block-cart-item__remove-link:hover{text-decoration:underline}

/* cart + checkout: order summary card */
body .wc-block-cart__sidebar,body .wc-block-checkout__sidebar{background:#efefef;border-radius:24px;padding:1.6rem 1.6rem 1.8rem;align-self:flex-start}
body .wc-block-components-totals-wrapper{border-color:rgba(0,0,0,.08)}
body .wc-block-cart__totals-title,body .wc-block-components-order-summary__button-text,body .wc-block-components-title{font-family:inherit;font-size:1.25rem;font-weight:700;letter-spacing:0;text-transform:none;color:#111}
body .wc-block-components-totals-item__label{color:#555;font-weight:600}
body .wc-block-components-totals-item__value{color:#111;font-weight:700}
body .wc-block-components-totals-footer-item{padding-top:.4rem}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:1.15rem;color:#111;font-weight:700}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.6rem;color:var(--red)}
body .wc-block-components-panel__button{font-weight:600;color:#111}
body .wc-block-components-order-summary-item__image img{object-fit:contain;padding:4px;background:transparent;border-radius:0}
body .wc-block-components-order-summary-item__quantity{background:var(--red);color:#fff;border:2px solid #fff;box-shadow:none}

/* all WooCommerce block buttons: red pill (hover colour comes from the global deep-yellow rule) */
body .wc-block-components-button:not(.is-link){background:var(--red);color:#fff;border:2px solid var(--red);border-radius:50px;font-family:inherit;font-weight:600;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;padding:.95em 1.8em;min-height:0;box-shadow:0 8px 18px rgba(215,38,30,.25);transition:background .3s,color .3s,border-color .3s,transform .3s}
body .wc-block-cart__submit-button,body .wc-block-components-checkout-place-order-button{width:100%}
body .wc-block-components-button:not(.is-link):hover{transform:translateY(-2px)}
body .wc-block-components-checkout-return-to-cart-button{color:var(--red);font-weight:600;text-decoration:none}

/* checkout form: each step is a soft card, inputs are rounded */
body .wc-block-checkout__main .wc-block-components-checkout-step{background:#fff;border:1px solid #eee7dc;border-radius:22px;padding:1.5rem 1.6rem 1.6rem;margin:0 0 1.2rem;box-shadow:0 10px 30px rgba(0,0,0,.04)}
body .wc-block-components-checkout-step__heading{margin:0 0 1rem}
body .wc-block-components-checkout-step__title{font-size:1.25rem;font-weight:700;color:#111}
body .wc-block-components-checkout-step__description{color:#8a8179;font-size:.95rem}
body .wc-block-components-text-input input,body .wc-block-components-textarea,body .wc-blocks-components-select__select,body .wc-block-components-combobox .components-combobox-control__suggestions-container input{border:1px solid #e4ded9!important;border-radius:12px!important;background:#fff;color:#111;font-family:inherit;box-shadow:none!important}
body .wc-block-components-text-input input:focus,body .wc-block-components-textarea:focus,body .wc-blocks-components-select__select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(255,199,0,.28)!important;outline:0}
body .wc-block-components-text-input label,body .wc-blocks-components-select__label{color:#8a8179}
body .wc-block-components-radio-control__option,body .wc-block-components-radio-control-accordion-option{border:1px solid #e4ded9!important;border-radius:14px!important;background:#fff;margin-bottom:.7rem;box-shadow:none!important}
body .wc-block-components-radio-control__option-checked{border-color:var(--red)!important;background:#fffafa}
body .wc-block-components-checkbox__mark{color:#fff}
body .wc-block-components-checkbox input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}
body .wc-block-components-notice-banner{border-radius:14px}
body .wc-block-components-address-card{border:1px solid #e4ded9;border-radius:14px}

/* empty cart message */
body .wp-block-woocommerce-empty-cart-block{text-align:center}
body .wp-block-woocommerce-empty-cart-block h2{margin-bottom:.6rem}
@media (max-width:700px){body .wc-block-cart__main{padding:.8rem 1rem}body .wc-block-cart-item__image img{width:72px;height:72px}body .wc-block-cart__sidebar,body .wc-block-checkout__sidebar{padding:1.2rem}}
@media (max-width:700px){
  body .wc-block-cart__main{padding:.3rem .8rem}
  body .wc-block-cart-items__row{grid-template-columns:76px minmax(0,1fr) auto!important;column-gap:.6rem;padding:0}
  body .wc-block-cart-items__row td{padding:1rem 0!important}
  body .wc-block-cart-items__row .wc-block-cart-item__image{width:76px;padding-right:0}
  body .wc-block-cart-items__row .wc-block-cart-item__total{padding-left:0!important;text-align:right;white-space:nowrap}
  body .wc-block-cart-items__row .wc-block-cart-item__image img{width:72px;height:72px}
}
/* cart + checkout: two columns on wider screens (items | summary) */
@media (min-width:782px){
  body .wc-block-components-sidebar-layout{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:2rem;align-items:start}
  body .wc-block-components-sidebar-layout > .wc-block-components-main,
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{width:auto!important;margin:0!important;float:none}
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{padding:1.6rem 1.6rem 1.8rem!important}
  body .wc-block-components-sidebar-layout > .wc-block-components-main.wc-block-checkout__main{padding:0!important}
}
/* Checkout form lines in red */
body .wc-block-components-text-input input,
body .wc-block-components-textarea,
body .wc-blocks-components-select__select,
body .wc-block-components-combobox .components-combobox-control__suggestions-container input{border:1.5px solid var(--red)!important}
body .wc-block-components-text-input input:focus,body .wc-block-components-textarea:focus,body .wc-blocks-components-select__select:focus{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(215,38,30,.18)!important}
body .wc-block-components-radio-control__option,body .wc-block-components-radio-control-accordion-option{border:1.5px solid var(--red)!important}
body .wc-block-components-checkbox input[type=checkbox]{border:1.5px solid var(--red)}
body .wc-block-components-address-card{border:1.5px solid var(--red)}
body .wc-block-components-text-input.is-active label,body .wc-block-components-text-input label{color:#8a8179}
body .wc-block-checkout__main .wc-block-components-checkout-step{border-color:rgba(215,38,30,.28)}

/* Edit-items shortcuts above the order summary */
.fd-edit-links{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.2rem}
.fd-edit-links a{flex:1 1 auto;text-align:center;font-weight:600;font-size:.92rem;padding:.65em 1.1em;border-radius:50px;text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.fd-edit-links__edit{background:var(--red);color:#fff;border:2px solid var(--red)}
.fd-edit-links__more{background:transparent;color:var(--red);border:2px solid var(--red)}
.fd-edit-links a:hover{background:var(--deep-yellow,#f2a900);border-color:var(--deep-yellow,#f2a900);color:#111}
/* Taller checkout fields (50px -> 62px); labels move down with them */
body .wc-block-components-text-input,
body .wc-blocks-components-select .wc-blocks-components-select__container{height:62px}
body .wc-block-components-text-input input,
body .wc-blocks-components-select__select{height:62px;padding-top:22px;padding-bottom:6px;font-size:1.05rem}
body .wc-block-components-text-input input:not(:focus):placeholder-shown{padding-top:16px;padding-bottom:16px}
body .wc-block-components-text-input label{top:31px}
body .wc-block-components-text-input.is-active label{top:31px}
body .wc-blocks-components-select__label{top:31px}
body .wc-block-components-textarea{min-height:130px;padding:1rem}
body .wc-block-components-text-input.wc-block-components-text-input input[type],
body .wc-block-components-text-input.wc-block-components-text-input input,
body .wc-blocks-components-select .wc-blocks-components-select__select{height:62px!important;min-height:62px!important;padding-top:22px!important;padding-bottom:6px!important;font-size:1.05rem!important}
body .wc-block-components-text-input.wc-block-components-text-input label,
body .wc-blocks-components-select .wc-blocks-components-select__label{top:31px!important}
body .wc-block-components-text-input.wc-block-components-text-input.is-active label,
body .wc-block-components-text-input.wc-block-components-text-input.is-active input{top:31px}
/* select labels stay up in the corner (they are always "active"), only the value moves down */
body .wc-blocks-components-select .wc-blocks-components-select__label{top:9px!important;transform:none!important;font-size:.78rem!important}
body .wc-blocks-components-select .wc-blocks-components-select__select{padding-top:26px!important;padding-bottom:6px!important}
/* Fixed delivery area: these three fields are filled in for the customer, so they are hidden */
body .wc-block-checkout__shipping-fields .wc-block-components-address-form__country,
body .wc-block-checkout__shipping-fields .wc-block-components-address-form__state,
body .wc-block-checkout__shipping-fields .wc-block-components-address-form__city{display:none!important}
.fd-area-note{grid-column:1/-1;margin:0 0 .6rem;padding:.7rem 1rem;border:1.5px solid var(--red);border-radius:12px;background:#fff;color:#555;font-size:.95rem;width:100%}
.fd-area-note strong{color:var(--red)}
/* floated label (field has a value or focus): small, in the top corner, value underneath */
body .wc-block-components-text-input.wc-block-components-text-input.is-active label{top:9px!important;transform:none!important;font-size:.78rem!important}

/* postal code is fixed in the delivery step too */
body .wc-block-checkout__shipping-fields .wc-block-components-address-form__postcode{display:block!important}

/* Order details: item photo + text */
.woocommerce-table--order-details .fd-oi{display:inline-flex;align-items:center;gap:1rem;vertical-align:middle}
.fd-oi__pic{flex:0 0 76px;width:76px;height:76px;display:inline-flex;align-items:center;justify-content:center}
.fd-oi__pic img,.fd-oi__img{width:76px;height:76px;object-fit:contain;padding:4px;background:transparent;border-radius:0;display:block}
.fd-oi__name a{font-weight:700;color:#111;text-decoration:none}
.fd-oi__name a:hover{color:var(--red)}
.woocommerce-table--order-details td.product-name{padding:1rem}
.woocommerce-table--order-details .product-quantity{font-weight:600;color:#777;margin-left:.3rem}
.woocommerce-table--order-details{border-radius:18px;overflow:hidden;border-color:#eee7dc}
.woocommerce-order-details__title{font-size:1.5rem;margin:1.5rem 0 1rem}
/* ================= Icons for delivery + payment options, and a visual order-received page ================= */
:root{
  --ic-scooter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='17' r='3'/><circle cx='18' cy='17' r='3'/><path d='M9 17h6l2-7h-3M17 10l1-4h3'/><path d='M3 8h5v5H3z'/></svg>");
  --ic-cash:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='20' height='12' rx='2'/><circle cx='12' cy='12' r='2.6'/><path d='M6 9v.01M18 15v.01'/></svg>");
  --ic-card:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><path d='M2 10h20M6 15h4'/></svg>");
  --ic-receipt:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/><path d='M9 8h6M9 12h6'/></svg>");
  --ic-calendar:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 10h18M8 3v4M16 3v4'/></svg>");
  --ic-tag:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12V4h8l10 10-8 8z'/><circle cx='7.5' cy='8.5' r='1'/></svg>");
}
/* checkout: an icon in front of every delivery and payment choice */
#shipping-option .wc-block-components-radio-control__label::before,
#payment-method .wc-block-components-radio-control__label::before,
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label::before{content:"";display:inline-block;width:30px;height:30px;margin-right:.7rem;vertical-align:middle;background:var(--red);-webkit-mask:var(--ic-card) center/contain no-repeat;mask:var(--ic-card) center/contain no-repeat}
#shipping-option .wc-block-components-radio-control__label::before{-webkit-mask-image:var(--ic-scooter);mask-image:var(--ic-scooter)}
#payment-method label:has(input[id$="-cod"]) .wc-block-components-radio-control__label::before{-webkit-mask-image:var(--ic-cash);mask-image:var(--ic-cash)}

/* order received: confirmation badge */
.woocommerce-thankyou-order-received{display:none}
.fd-ok{text-align:center;max-width:760px;margin:0 auto 2rem}
.fd-ok__badge{width:96px;height:96px;margin:0 auto 1rem;border-radius:50%;background:#e8f6ec;display:flex;align-items:center;justify-content:center;animation:fdPop .6s cubic-bezier(.2,1.4,.4,1) both}
.fd-ok__badge svg{width:64px;height:64px}
.fd-ok__ring{fill:none;stroke:#2f9e57;stroke-width:3;stroke-dasharray:145;stroke-dashoffset:145;animation:fdDraw .8s .1s ease forwards}
.fd-ok__tick{fill:none;stroke:#2f9e57;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:fdDraw .5s .75s ease forwards}
@keyframes fdPop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fdDraw{to{stroke-dashoffset:0}}
.fd-ok__title{margin:0 0 .4rem}
.fd-ok__text{margin:0 auto 1.6rem;max-width:560px}
.fd-ok__text strong{color:#111}
/* progress steps */
.fd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.fd-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#8a8179;font-weight:600;font-size:.95rem}
.fd-steps li::before{content:"";position:absolute;top:26px;left:-50%;width:100%;height:3px;background:#e4ded9;z-index:0}
.fd-steps li:first-child::before{display:none}
.fd-steps li.is-done::before,.fd-steps li.is-current::before{background:var(--red)}
.fd-steps__ic{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;background:#fff;border:3px solid #e4ded9;display:flex;align-items:center;justify-content:center}
.fd-steps__ic svg{width:26px;height:26px}
.fd-steps li.is-done .fd-steps__ic{background:var(--red);border-color:var(--red);color:#fff}
.fd-steps li.is-current .fd-steps__ic{border-color:var(--red);color:var(--red);animation:fdPulse 1.8s ease-in-out infinite}
.fd-steps li.is-done,.fd-steps li.is-current{color:#111}
@keyframes fdPulse{0%,100%{box-shadow:0 0 0 0 rgba(215,38,30,.35)}50%{box-shadow:0 0 0 12px rgba(215,38,30,0)}}
@media (prefers-reduced-motion:reduce){.fd-ok__badge,.fd-ok__ring,.fd-ok__tick,.fd-steps li.is-current .fd-steps__ic{animation:none}.fd-ok__ring,.fd-ok__tick{stroke-dashoffset:0}}
@media (max-width:560px){.fd-steps__ic{width:44px;height:44px}.fd-steps li::before{top:21px}.fd-steps li{font-size:.8rem}}
/* order overview as icon tiles */
.woocommerce-order-overview{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}
.woocommerce-order-overview li{border:1px solid #eee7dc!important;border-radius:18px;background:#fff;padding:1rem 1.1rem 1rem 4.2rem!important;position:relative;margin:0!important;text-transform:none!important;font-size:.85rem;color:#8a8179}
.woocommerce-order-overview li strong{display:block;color:#111;font-size:1.05rem;margin-top:.15rem}
.woocommerce-order-overview li::before{content:"";position:absolute;left:1.1rem;top:50%;width:34px;height:34px;transform:translateY(-50%);background:var(--red);-webkit-mask:var(--ic-receipt) center/contain no-repeat;mask:var(--ic-receipt) center/contain no-repeat}
.woocommerce-order-overview li.woocommerce-order-overview__date::before{-webkit-mask-image:var(--ic-calendar);mask-image:var(--ic-calendar)}
.woocommerce-order-overview li.woocommerce-order-overview__total::before{-webkit-mask-image:var(--ic-tag);mask-image:var(--ic-tag)}
.woocommerce-order-overview li.woocommerce-order-overview__payment-method::before{-webkit-mask-image:var(--ic-cash);mask-image:var(--ic-cash)}
/* Delivery reassurance on the order-received page */
.fd-eta{max-width:560px;margin:0 auto 1.8rem;background:#fff;border:1.5px solid rgba(215,38,30,.35);border-radius:22px;padding:1.2rem 1.4rem 1.3rem}
.fd-eta__route{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.fd-eta__end{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#efefef;color:var(--red);display:inline-flex;align-items:center;justify-content:center}
.fd-eta__end svg{width:26px;height:26px}
.fd-eta__road{position:relative;flex:1;height:46px;background:repeating-linear-gradient(90deg,#d9cfc4 0 10px,transparent 10px 18px) center/100% 3px no-repeat}
.fd-eta__scooter{position:absolute;top:50%;left:0;width:42px;height:42px;margin-top:-21px;border-radius:50%;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(215,38,30,.35);animation:fdRide 4.5s ease-in-out infinite}
.fd-eta__scooter svg{width:24px;height:24px}
@keyframes fdRide{0%{left:0}50%{left:calc(100% - 42px)}100%{left:0}}
.fd-eta__text{margin:0;color:#555;font-size:1rem}
.fd-eta__text strong{color:#111;font-size:1.15rem}
@media (prefers-reduced-motion:reduce){.fd-eta__scooter{animation:none;left:calc(50% - 21px)}}
/* Go to top */
.to-top{position:fixed;right:20px;bottom:20px;z-index:70;width:50px;height:50px;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(215,38,30,.35);opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s,visibility .3s,transform .3s,background .3s,color .3s}
.to-top.is-on{opacity:1;visibility:visible;transform:none}
.to-top:hover,.to-top:focus-visible{background:var(--deep-yellow,#f2a900);color:#111;transform:translateY(-3px)}
@media (max-width:600px){.to-top{right:14px;bottom:14px;width:46px;height:46px}}
@media (prefers-reduced-motion:reduce){.to-top{transition:none}}

/* About us page */
.about-story__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-story__art img{width:100%;height:auto;filter:drop-shadow(0 26px 26px rgba(0,0,0,.25))}
.about-story__text p{font-size:1.1rem}
.about-story__text .btn{margin-top:.8rem}
.about-showcase__lead{max-width:640px;margin:-1rem 0 2.2rem}
.about-values__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.6rem}
.about-card{text-align:left}
.about-card .feature__icon,.about-card .line-icon{display:block;width:62px;height:62px;color:#f22e3e;margin-bottom:1rem}
.about-card h3{font-size:1.3rem;font-weight:600;color:#1d1d1d;margin:0 0 .4rem}
.about-card p{margin:0;font-size:1rem}
.about-cta{position:relative;overflow:hidden;background:#111;color:#fff;padding:clamp(4rem,9vw,7rem) 0;text-align:center}
.about-cta .bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-cta .bg-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.78),rgba(8,8,8,.66))}
.about-cta__in{position:relative;z-index:1;max-width:760px}
.about-cta h2{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:.5rem}
.about-cta p{color:rgba(255,255,255,.92)}
.about-cta .script{color:#ffd27a;display:inline-block}
.about-cta__buttons{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.4rem}
@media (max-width:1100px){.about-values__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.about-story__grid{grid-template-columns:1fr}}
@media (max-width:640px){.about-values__grid{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.about-cta .bg-video{display:none}}
/* Events page */
.events-intro__lead{max-width:760px;margin:-1rem 0 2.4rem;font-size:1.15rem}
.events-types{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.events-type{text-align:left}
.events-type .feature__icon{display:block;width:62px;height:62px;color:#f22e3e;margin-bottom:1rem}
.events-type h3{font-size:1.4rem;font-weight:600;color:#1d1d1d;margin:0 0 .4rem}
.events-type p{margin:0}
.contact__form select{width:100%;padding:.95em 1.1em;border:1px solid #e6e1da;border-radius:10px;background:#fff;color:var(--dark);font:inherit;font-weight:500;appearance:auto}
.contact__form select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,199,0,.25)}
.contact__form input[type=number]{width:100%}
.events-request .contact__art{background:transparent;box-shadow:none;border-radius:0;overflow:visible;display:flex;align-items:center;justify-content:center}
.events-request .contact__art img.events-art{width:min(520px,100%);height:auto;min-height:0;object-fit:contain;filter:drop-shadow(0 24px 26px rgba(0,0,0,.28))}
.events-steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.events-steps__list li{text-align:left}
.events-steps__n{display:inline-flex;width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:1.4rem;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 8px 18px rgba(215,38,30,.28)}
.events-steps__list h3{font-size:1.4rem;font-weight:600;margin:0 0 .4rem}
.events-steps__list p{margin:0}
@media (max-width:1000px){.events-types{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.events-steps__list{grid-template-columns:1fr}}
@media (max-width:520px){.events-types{grid-template-columns:1fr}}
/* Plain content pages (privacy policy etc.) */
.entry{max-width:820px}
.entry h2{font-size:1.5rem;margin:2.2rem 0 .6rem}
.entry p,.entry li{font-size:1.05rem}
.entry ul,.entry ol{padding-left:1.3rem;margin:0 0 1rem}
.entry li{margin-bottom:.45rem}
.entry a{color:var(--red);text-decoration:underline}
.entry strong{color:#111}
/* Lower footer: copyright on the left, Terms and Privacy on the right */
.footer__bar-in{display:flex;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;flex-wrap:wrap}
.footer__bar .footer-policy{display:flex;gap:1.6rem;flex-wrap:wrap;list-style:none;margin:0;padding:0;justify-content:flex-end}
.footer__bar .footer-policy a{font-size:.9rem;color:inherit;text-decoration:none;font-weight:500}
.footer__bar .footer-policy a:hover{color:var(--red)}
.footer__policy{border-bottom:0}
@media (max-width:640px){.footer__bar-in{flex-direction:column;align-items:flex-start}.footer__bar .footer-policy{justify-content:flex-start}}
/* Legal pages (Terms / Privacy) */
.legal{padding-top:3.5rem}
.legal__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;align-items:start}
.legal__toc{position:sticky;top:100px;background:var(--cream);border-radius:var(--radius);padding:1.4rem 1.4rem 1.2rem}
.legal__toc-title{font-size:1.05rem;margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.06em}
.legal__toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.legal__toc li{counter-increment:t;margin:0}
.legal__toc a{display:flex;gap:.6rem;padding:.35rem 0;color:var(--text);font-size:.93rem;line-height:1.35;transition:color .2s}
.legal__toc a::before{content:counter(t);flex:none;width:1.4rem;color:var(--red);font-weight:700}
.legal__toc a:hover{color:var(--red)}
.legal__body.entry{max-width:none;counter-reset:s}
.legal__updated{display:inline-block;margin:0 0 1.2rem;padding:.3rem .9rem;border-radius:99px;background:var(--cream);font-size:.85rem;font-weight:600;color:var(--muted)}
.legal__body h2{display:flex;align-items:center;gap:.8rem;counter-increment:s;scroll-margin-top:100px;margin:2.4rem 0 .8rem;padding-top:1.6rem;border-top:1px solid #ece6e1;font-size:1.45rem}
.legal__body h2::before{content:counter(s);flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--red);color:#fff;font-size:.95rem}
.legal__body>.legal__updated+p{font-size:1.15rem;color:#111}
.legal__body>.legal__updated+p+h2{margin-top:2rem}
.legal__note{margin:1.2rem 0 1.6rem;padding:1.1rem 1.3rem;border-left:4px solid var(--gold);background:#fffaf0;border-radius:0 var(--radius) var(--radius) 0}
.legal__note p{margin:0}
.legal__note strong{display:block;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:var(--red)}
.legal__body ul{list-style:none;padding-left:0}
.legal__body ul li{position:relative;padding-left:1.5rem}
.legal__body ul li::before{content:"";position:absolute;left:0;top:.7em;width:.5rem;height:.5rem;border-radius:50%;background:var(--red)}
.legal__contact{margin-top:3rem;padding:1.8rem;border-radius:var(--radius);background:var(--cream)}
.legal__contact h3{margin:0 0 .5rem;font-size:1.3rem}
.legal__contact p{margin:0 0 1rem}
.legal__links{display:flex;flex-wrap:wrap;gap:.7rem;margin:0!important}
@media (max-width:900px){
	.legal__grid{grid-template-columns:1fr;gap:1.8rem}
	.legal__toc{position:static}
	.legal__toc ol{columns:2;column-gap:1.5rem}
	.legal__toc li{break-inside:avoid}
}
@media (max-width:560px){.legal__toc ol{columns:1}.legal__body h2{font-size:1.25rem}}

/* No underline inside buttons */
.entry a.btn,.entry a.btn:hover,.entry a.btn:focus,.legal__links a,.legal__links a:hover,
.btn,.btn:hover,.btn:focus,.wp-block-button__link,.wc-block-components-button,.wc-block-components-button:hover{text-decoration:none!important}

/* Footer redesign */
body .site-footer{position:relative;overflow:hidden;background:#efefef;padding-top:0}
.footer__join{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1.5rem 3rem;flex-wrap:wrap;margin:0 auto;transform:translateY(-50%);margin-bottom:-1.2rem;padding:1.8rem 2.4rem;border-radius:22px;background:var(--red);color:#fff;box-shadow:0 18px 40px rgba(176,28,21,.28)}
.footer__join .script{color:var(--gold);font-size:1.5rem;line-height:1}
body .site-footer .footer__join h3{margin:.2rem 0 0;color:#fff;font-size:1.5rem}
body .site-footer .footer__join p{color:#fff}
.footer__join .footer-news{flex:1 1 340px;max-width:460px;flex-wrap:nowrap;margin:0}
.footer__join .footer-news input[type=email]{border:0;padding:.95em 1.3em;font-size:.95rem}
body .site-footer .footer__join .footer-news button{background:var(--gold);color:#111;padding:.95em 1.6em}
body .site-footer .footer__join .footer-news button:hover{background:#fff;color:var(--red)}
.footer__cols{position:relative;z-index:1;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem 3rem;padding:.5rem 0 2.2rem}
.footer__tagline{max-width:30ch;margin:.9rem 0 1.1rem;line-height:1.55}
.footer__brand .footer__contact{flex-direction:column;align-items:flex-start;gap:.8rem;margin:0 0 1.2rem}
.footer__brand .fc-item{align-items:flex-start;line-height:1.5}
.footer__brand .fc-icon{margin-top:.15rem}
body .site-footer h4{position:relative;margin:0 0 1.3rem;padding-bottom:.7rem;font-size:1.15rem}
body .site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:var(--red)}
body .footer-list a{display:inline-block;transition:color .2s,transform .2s}
body .footer-list a:hover{color:var(--red);transform:translateX(5px)}
body .footer__brand .footer-social{margin:0}
.footer__policy{position:relative;z-index:1;gap:.8rem 1.2rem;justify-content:flex-start;border-top:1px solid rgba(0,0,0,.08)!important;padding:1.3rem 0}
.footer__pay-label{font-weight:600;color:#111;font-size:.9rem}
.footer-pay{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.pay{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .95rem;border-radius:99px;background:#fff;border:1px solid #e4ded9;color:#444;font-size:.82rem;font-weight:700;line-height:1.2}
.pay svg{color:#777}
.pay--bkash{color:#e2136e;border-color:rgba(226,19,110,.35)}
.pay--rocket{color:#8c3494;border-color:rgba(140,52,148,.35)}
.footer__decor{position:absolute;pointer-events:none;z-index:0;opacity:.9}
.footer__decor--l{left:2.5%;bottom:92px;width:56px;height:auto;transform:rotate(-18deg)}
.footer__decor--r{right:3%;top:34%;width:96px;height:auto;transform:rotate(24deg)}
@media (max-width:1100px){.footer__decor{display:none}}
@media (max-width:900px){.footer__cols{grid-template-columns:repeat(2,1fr)}.footer__brand{grid-column:1/-1}.footer__join{padding:1.6rem 1.5rem}}
@media (max-width:560px){.footer__cols{grid-template-columns:1fr;gap:1.6rem}.footer__join .footer-news{max-width:none;flex-basis:100%}body .site-footer .footer__join h3{font-size:1.25rem}}
body .site-footer{padding-top:3rem}
.footer__join{transform:none;margin-bottom:2.8rem}
body .site-footer .footer__tagline{font-size:.97rem}
@media (max-width:560px){.footer__join .footer-news{flex-wrap:wrap}.footer__join .footer-news input[type=email]{flex:1 1 100%}.footer__join .footer-news button{flex:1 1 100%}}
.footer__join .script{display:block;padding:0}.footer__join .script::before,.footer__join .script::after{display:none!important}
@media (max-width:640px){.footer__bar{text-align:left}}
.footer__decor--l{left:auto;right:6%;bottom:96px}
.footer-pay .pay{padding:0;border:0;background:none;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.12);overflow:hidden;line-height:0}
.footer-pay .pay svg{display:block;width:54px;height:34px;color:inherit}
.footer-pay .pay svg{width:60px;height:38px}
@media (min-width:641px){.footer__bar-in{padding-right:76px}}
.footer-pay .pay img{display:block;width:60px;height:38px;border-radius:6px}
.footer-pay .pay{box-shadow:0 2px 8px rgba(0,0,0,.14)}
.footer-pay .pay img{width:76px;height:48px;border-radius:8px}
.footer-pay .pay{box-shadow:none;border:1px solid #d9d2cc;background:#fff;border-radius:9px;overflow:hidden}.footer-pay .pay img{border-radius:8px}
.footer-pay{gap:.5rem}.footer-pay .pay img{width:62px;height:39px}
/* Footer social icons: the icon itself changes color on hover; badges stay as they are */
body .footer-social a{transition:color .2s,transform .2s,border-color .2s}
body .footer-social a:hover,body .footer-social a:focus-visible{background:#fff;color:var(--deep-yellow);transform:translateY(-2px)}
.footer-pay .pay,.footer-pay .pay:hover{transition:none;transform:none;filter:none}
body .footer-social a,body .footer-social a:hover,body .footer-social a:focus-visible{box-shadow:none;border:1px solid #d9d2cc}
body .footer-social a[aria-label="Facebook"]:hover,body .footer-social a[aria-label="Facebook"]:focus-visible{color:#1877f2;border-color:#1877f2}
body .footer-social a[aria-label="Instagram"]:hover,body .footer-social a[aria-label="Instagram"]:focus-visible{color:#e4283c;border-color:#e4283c}

/* ===== Page beautification: About / Events / Contact ===== */
.pg-decor{position:absolute;pointer-events:none;z-index:2;height:auto}
.pg-decor--basil{right:-2%;top:-4%;width:92px;transform:rotate(22deg)}
.pg-decor--garlic{left:-3%;top:4%;width:78px;transform:rotate(-14deg)}
.pg-decor--olive{right:2%;bottom:6%;width:54px;transform:rotate(16deg)}
@media (max-width:760px){.pg-decor{display:none}}

/* About */
.about-story__art{position:relative}
.about-story__badge{position:absolute;left:3%;bottom:6%;z-index:3;display:grid;place-content:center;gap:.1rem;width:112px;height:112px;border-radius:50%;background:var(--red);color:#fff;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.1;border:4px solid #fff;box-shadow:0 12px 26px rgba(176,28,21,.3);transform:rotate(-10deg)}
.about-story__badge b{font-size:1.25rem;letter-spacing:0;color:var(--gold)}
.about-flow{background:#fff}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;counter-reset:f}
.flow::before{content:"";position:absolute;left:16%;right:16%;top:27px;border-top:2px dashed rgba(215,38,30,.35)}
.flow li{position:relative;text-align:center;padding:0 1rem}
.flow__n{display:inline-flex;width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:1.4rem;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 0 0 8px #fff,0 8px 18px rgba(215,38,30,.28)}
.flow h3{font-size:1.35rem;font-weight:600;margin:0 0 .4rem}
.flow p{margin:0 auto;max-width:30ch}
.about-showcase .pizza-row__item:nth-child(n):hover,.about-showcase .pizza-row__item:nth-child(n):focus-visible{transform:translateY(-8px)}
.about-showcase .pizza-row__item:hover img{transform:rotate(-6deg) scale(1.05)}
.about-showcase .pizza-row__item img{transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s}
.pizza-row__cap{display:block;margin-top:.9rem;text-align:center;font-weight:600;font-size:1.05rem;color:#1d1d1d}
.about-card{background:#fff;border:1px solid #eee3dc;border-radius:18px;padding:1.7rem 1.4rem;transition:transform .25s,border-color .25s,box-shadow .25s}
.about-card:hover{transform:translateY(-6px);border-color:rgba(215,38,30,.4);box-shadow:0 16px 34px rgba(28,20,17,.1)}
@media (max-width:760px){.flow{grid-template-columns:1fr;gap:1.8rem}.flow::before{display:none}}

/* Events */
.events-type{background:#fff;border:1px solid #eee3dc;border-radius:18px;padding:1.7rem 1.4rem;transition:transform .25s,border-color .25s,box-shadow .25s}
.events-type:hover{transform:translateY(-6px);border-color:rgba(215,38,30,.4);box-shadow:0 16px 34px rgba(28,20,17,.1)}
.events-request .contact__art{position:relative}
.events-steps__list{position:relative}
.events-steps__list::before{content:"";position:absolute;left:12%;right:12%;top:27px;border-top:2px dashed rgba(215,38,30,.35)}
.events-steps__list li{position:relative;text-align:center}
.events-steps__n{box-shadow:0 0 0 8px #fff,0 8px 18px rgba(215,38,30,.28)}
.events-steps__list p{margin-left:auto;margin-right:auto;max-width:30ch}
@media (max-width:760px){.events-steps__list::before{display:none}.events-steps__list li{text-align:left}}

/* Contact + Events form card */
.contact,.events-request{background:var(--cream)}
.contact__form-wrap{background:#fff;border-radius:22px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 14px 36px rgba(28,20,17,.08)}
.contact__form-wrap .script{display:inline-block}
.contact-info{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.contact-info__grid{gap:0}
.info-card{padding:.4rem 1.6rem;border-left:1px solid #eadfd6}
.info-card:first-child{border-left:0;padding-left:0}
.info-card .line-icon,.info-card svg.line-icon{flex:none}
.contact-map{padding:0 0 clamp(3rem,6vw,5rem);background:#fff}
.contact-map__frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.contact-map iframe{height:clamp(340px,42vw,460px);filter:grayscale(.1)}
.contact-map__card{position:absolute;left:clamp(1rem,3vw,2rem);top:50%;transform:translateY(-50%);max-width:300px;line-height:1.5;background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 18px 40px rgba(28,20,17,.22)}
.contact-map__card h3{margin:.1rem 0 .3rem;font-size:1.3rem}
.contact-map__card p{margin:0 0 1rem}
.contact-map__btns{display:flex;flex-wrap:wrap;gap:.6rem}
.contact-map__btns .btn{padding:.7em 1.2em;font-size:.8rem}
@media (max-width:900px){.info-card{border-left:0;padding:.6rem 0}.contact-map__card{position:static;transform:none;max-width:none;border-radius:0;box-shadow:none;border-top:1px solid #eee3dc}}
.about-story__art img.pg-decor,.events-request .contact__art img.pg-decor{filter:none;box-shadow:none;min-height:0;object-fit:contain}
.about-story__art img.pg-decor--basil{width:92px;height:auto;right:2%;top:-3%}
.events-request .contact__art img.pg-decor--garlic{width:78px;height:auto}
.events-request .contact__art img.pg-decor--olive{width:54px;height:auto}
.contact-map__btns .btn--ghost{background:transparent;color:var(--red);border:2px solid var(--red)}
.contact-map__btns .btn--ghost:hover,.contact-map__btns .btn--ghost:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}

/* Mobile menu icon: round button, two staggered bars that become a cross when open */
.nav-toggle{position:relative;width:46px;height:46px;padding:0;border-radius:50%;border:2px solid var(--red);background:#fff;transition:background .2s,border-color .2s}
.nav-toggle span{position:absolute;right:12px;height:3px;margin:0;border-radius:3px;background:var(--red);transition:transform .25s,width .25s,top .25s,background .2s}
.nav-toggle span:nth-child(1){top:16px;width:20px}
.nav-toggle span:nth-child(2){top:25px;width:12px}
.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow)}
.nav-toggle:hover span,.nav-toggle:focus-visible span{background:#111}
.nav-toggle[aria-expanded="true"]{background:var(--red)}
.nav-toggle[aria-expanded="true"] span{background:#fff;width:20px;right:11px;top:20.5px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.nav-toggle span{transition:none}}

/* Homepage polish */
.intro__list{list-style:none;margin:1.2rem 0 1.6rem;padding:0;display:grid;gap:.7rem}
.intro__list li{position:relative;padding-left:2rem;font-weight:500;color:#333}
.intro__list li::before{content:"";position:absolute;left:0;top:.2em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat}
.intro__text{align-self:center}
.features{gap:1.4rem}
.feature{background:#fff;border:1px solid #eee3dc;border-radius:18px;padding:1.7rem 1.4rem;transition:transform .25s,border-color .25s,box-shadow .25s}
.feature:hover{transform:translateY(-6px);border-color:rgba(215,38,30,.4);box-shadow:0 16px 34px rgba(28,20,17,.1)}
.reviews{align-items:stretch}
.review{position:relative;display:flex;flex-direction:column;margin:0;padding:2.4rem 1.6rem 1.5rem;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(28,20,17,.08);transition:transform .25s,box-shadow .25s}
.review:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(28,20,17,.14)}
.review::before{content:"\201C";position:absolute;right:1.2rem;top:.2rem;font:700 5rem/1 Georgia,serif;color:rgba(215,38,30,.14)}
.review p{flex:1;margin:.8rem 0 1.2rem}
.review cite{display:flex;align-items:center;gap:.7rem;font-style:normal;font-weight:700;color:#111}
.review cite::before{content:"";flex:none;width:38px;height:38px;border-radius:50%;background:#fbe3e1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7261e' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8.5' r='3.6'/%3E%3Cpath d='M5 20c.8-3.6 3.6-5.4 7-5.4s6.2 1.8 7 5.4'/%3E%3C/svg%3E") center/62% no-repeat}
/* Homepage "Baked to order": same captions and hover as About > Handmade pizza */
.pizza-row .pizza-row__item:nth-child(n):hover,.pizza-row .pizza-row__item:nth-child(n):focus-visible{transform:translateY(-8px)}
.pizza-row .pizza-row__item img{transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s}
.pizza-row .pizza-row__item:hover img,.pizza-row .pizza-row__item:focus-visible img{transform:rotate(-6deg) scale(1.05)}
.pizza-row__item img{aspect-ratio:1/1;object-fit:contain}.pizza-row__cap{margin-top:.6rem}
/* Popular Dishes slider arrows: outline, fill on hover */
body .slider-nav .slider-arrow{background:transparent;color:var(--red);border:2px solid var(--red);box-shadow:none;transition:background .2s,color .2s,border-color .2s}
body .slider-nav .slider-arrow:hover,body .slider-nav .slider-arrow:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111;box-shadow:none}
body .slider-nav .slider-arrow:disabled{opacity:.4;cursor:default}
body .slider-nav .slider-arrow:disabled:hover{background:transparent;border-color:var(--red);color:var(--red)}
body .site-footer .footer__tagline{margin-bottom:1.4rem}


/* ===== Product page ===== */
.single-product .woo div.product .variations{border-collapse:separate;border-spacing:0 1.1rem;margin:0 0 .4rem}
.single-product .woo div.product .variations th.label,.single-product .woo div.product .variations td.label{display:block;padding:0 0 .55rem;font-weight:700;color:#111}
.single-product .woo div.product form.cart .single_add_to_cart_button{padding:1em 2.4em;font-size:.95rem}
.pp-points{list-style:none;margin:1.6rem 0 0;padding:1.2rem 0 0;border-top:1px solid #eee3dc;display:grid;gap:.6rem}
.pp-points li{position:relative;padding-left:1.9rem;font-size:.97rem;color:#444}
.pp-points li::before{content:"";position:absolute;left:0;top:.2em;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat}
.pp-about,.pp-related{grid-column:1/-1;width:100%}
.pp-about{margin-top:1rem;padding:clamp(1.6rem,3vw,2.4rem);border-radius:22px;background:var(--cream)}
.pp-about h2{margin:0 0 1rem;font-size:1.7rem}
.pp-about__body{max-width:780px}
.pp-about__body h3{margin:1.4rem 0 .4rem;font-size:1.15rem}
.pp-about__body p{margin:0 0 .8rem}
.pp-about__body ul{margin:0 0 .8rem;padding-left:1.2rem}
.pp-about__body li{margin-bottom:.35rem}
.pp-note{margin:1.4rem 0 0;padding:1rem 1.2rem;border-left:4px solid var(--gold);background:#fffaf0;border-radius:0 12px 12px 0;font-size:.95rem}
.pp-related{padding-top:clamp(1.5rem,4vw,3rem)}
.pp-related__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.pp-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.2rem 1rem 1.3rem;border:1px solid #eee3dc;border-radius:20px;background:#fff;color:var(--text);transition:transform .25s,border-color .25s,box-shadow .25s}
.pp-card:hover,.pp-card:focus-visible{transform:translateY(-6px);border-color:rgba(215,38,30,.4);box-shadow:0 16px 34px rgba(28,20,17,.1)}
.pp-card__img{display:block;width:100%;aspect-ratio:1/1;margin-bottom:.8rem}
.pp-card__img img{width:100%;height:100%;object-fit:contain;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.pp-card:hover .pp-card__img img{transform:scale(1.06)}
.pp-card__name{font-weight:700;font-size:1.1rem;color:#111}
.pp-card__price{margin-top:.25rem;color:var(--red);font-weight:600}
@media (max-width:900px){.pp-related__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:800px){.single-product .woo div.product div.images .woocommerce-product-gallery__image img{max-height:300px}}
.about-story__art img.about-story__photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 55%;border-radius:24px;box-shadow:var(--shadow);filter:none}
.about-story__art img.about-story__pizza{display:block;width:min(470px,100%);height:auto;margin:0 auto;filter:drop-shadow(0 26px 26px rgba(0,0,0,.25))}
.about-story__art:has(.about-story__pizza) .about-story__badge{left:10%;bottom:4%}

/* "From Dough To Door": the process animates in order when scrolled into view */
@media (prefers-reduced-motion:no-preference){
	.js .flow::before{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s ease .2s}
	.js .flow.is-go::before{clip-path:inset(0 0 0 0)}
	.js .flow li{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
	.js .flow.is-go li{opacity:1;transform:none}
	.js .flow.is-go li:nth-child(1){transition-delay:.1s}
	.js .flow.is-go li:nth-child(2){transition-delay:.9s}
	.js .flow.is-go li:nth-child(3){transition-delay:1.6s}
	.js .flow li .flow__n{transform:scale(.3)}
	.js .flow.is-go li .flow__n{animation:flowPop .7s cubic-bezier(.34,1.56,.64,1) both}
	.js .flow.is-go li:nth-child(1) .flow__n{animation-delay:.1s}
	.js .flow.is-go li:nth-child(2) .flow__n{animation-delay:.9s}
	.js .flow.is-go li:nth-child(3) .flow__n{animation-delay:1.6s}
	@keyframes flowPop{0%{transform:scale(.3)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
}

/* Menu page cards: no shadow, light outline, hover effect */
body .woo ul.products li.product{box-shadow:none;border:1px solid #eee3dc;border-radius:20px;transition:transform .25s,border-color .25s}
body .woo ul.products li.product:hover,body .woo ul.products li.product:focus-within{transform:translateY(-6px);border-color:rgba(215,38,30,.45);box-shadow:none}
body .woo ul.products li.product a img{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
body .woo ul.products li.product:hover a img{transform:scale(1.06)}
body .woo ul.products li.product:hover .button,body .woo ul.products li.product:hover a.add_to_cart_button{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
@media (prefers-reduced-motion:reduce){body .woo ul.products li.product,body .woo ul.products li.product a img{transition:none}body .woo ul.products li.product:hover,body .woo ul.products li.product:hover a img{transform:none}}

/* ===== Menu page ===== */
.menu-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.8rem}
.menu-filter__btn{padding:.6em 1.4em;border:2px solid var(--red);border-radius:99px;background:transparent;color:var(--red);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.menu-filter__btn:hover,.menu-filter__btn:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
.menu-filter__btn.is-on{background:var(--red);border-color:var(--red);color:#fff}
body .woo ul.products li.product[hidden]{display:none}
body .woo ul.products li.product{display:flex;flex-direction:column;text-align:center}
body .woo ul.products li.product .woocommerce-loop-product__title{font-size:1.2rem;font-weight:700;color:#111;padding:0;margin:.2rem 0 .3rem}
body .woo ul.products li.product .price{color:var(--red)!important;font-weight:700;font-size:1.1rem;display:block;margin:0 0 .4rem}
body .woo ul.products li.product .price .amount,body .woo ul.products li.product .price bdi{color:var(--red)}
body .woo ul.products li.product .menu-card-desc{margin:0 0 1rem;font-size:.92rem;line-height:1.5;color:var(--text)}
body .woo ul.products li.product .button{margin-top:auto;align-self:center;padding:.8em 1.8em;font-size:.85rem}

/* Homepage hero title: chunky display font that suits the pizza theme */
body .hero h1{font-family:"Lilita One","Montserrat",system-ui,sans-serif;font-weight:400;letter-spacing:.01em;line-height:1.08;font-size:clamp(2.7rem,5.6vw,4.7rem)}

/* Events "Three Easy Steps": animate the process like the About page */
@media (prefers-reduced-motion:no-preference){
	.js .events-steps__list::before{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s ease .2s}
	.js .events-steps__list.is-go::before{clip-path:inset(0 0 0 0)}
	.js .events-steps__list li{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
	.js .events-steps__list.is-go li{opacity:1;transform:none}
	.js .events-steps__list.is-go li:nth-child(1){transition-delay:.1s}
	.js .events-steps__list.is-go li:nth-child(2){transition-delay:.9s}
	.js .events-steps__list.is-go li:nth-child(3){transition-delay:1.6s}
	.js .events-steps__list li .events-steps__n{transform:scale(.3)}
	.js .events-steps__list.is-go li .events-steps__n{animation:flowPop .7s cubic-bezier(.34,1.56,.64,1) both}
	.js .events-steps__list.is-go li:nth-child(1) .events-steps__n{animation-delay:.1s}
	.js .events-steps__list.is-go li:nth-child(2) .events-steps__n{animation-delay:.9s}
	.js .events-steps__list.is-go li:nth-child(3) .events-steps__n{animation-delay:1.6s}
}

/* Empty cart: favourites grid + brand buttons */
body .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before{background-color:var(--red)!important}
body .wp-block-woocommerce-empty-cart-block .cart-empty-heading{font-size:1.7rem;margin:2.2rem 0 .3rem}
body .wp-block-woocommerce-empty-cart-block .cart-empty-sub{margin:0 0 1.6rem;color:var(--muted)}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin:0;padding:0;list-style:none}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{width:auto!important;max-width:none!important;margin:0!important;padding:1.2rem 1rem 1.4rem!important;border:1px solid #eee3dc!important;border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .25s,border-color .25s}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover{transform:translateY(-6px);border-color:rgba(215,38,30,.45)}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link{display:block;width:100%;text-decoration:none}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image{aspect-ratio:1/1;width:100%;margin:0 0 .8rem}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img{width:100%!important;height:100%;object-fit:contain;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img{transform:scale(1.06)}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title{display:block;color:#111;font-weight:700;font-size:1.1rem;text-decoration:none!important;margin:.2rem 0}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{color:var(--red);font-weight:700;margin:0 0 1rem}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart{margin-top:auto}
body .wp-block-woocommerce-empty-cart-block .wp-block-button__link,body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link{background:var(--red)!important;color:#fff!important;border:2px solid var(--red)!important;border-radius:99px!important;padding:.75em 1.7em!important;font-size:.85rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-decoration:none!important;transition:background .2s,border-color .2s,color .2s}
body .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,body .wp-block-woocommerce-empty-cart-block .wp-block-button__link:focus-visible{background:var(--deep-yellow)!important;border-color:var(--deep-yellow)!important;color:#111!important}
body .wp-block-woocommerce-empty-cart-block .cart-empty-menu{margin-top:2rem}
body .wp-block-woocommerce-empty-cart-block .cart-empty-menu .wp-block-button__link{background:transparent!important;color:var(--red)!important}
body .wp-block-woocommerce-empty-cart-block .cart-empty-menu .wp-block-button__link:hover{background:var(--deep-yellow)!important;color:#111!important}
@media (max-width:900px){body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{grid-template-columns:repeat(2,1fr)}}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid{max-width:1160px;margin-left:auto;margin-right:auto}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{font-size:1rem;line-height:1.4}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .wc-block-all-select-price,body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{white-space:nowrap}
body .wp-block-woocommerce-empty-cart-block .wp-block-button__link{white-space:nowrap;padding:.75em 1.3em!important;font-size:.78rem!important}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link{white-space:nowrap!important;padding:.75em 1.1em!important;letter-spacing:.01em;width:auto!important}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart{width:100%;display:flex;justify-content:center}

/* ===== My Account ===== */
body.woocommerce-account .entry{max-width:none}
body.woocommerce-account .woocommerce{display:grid;grid-template-columns:270px minmax(0,1fr);gap:2.2rem 3rem;align-items:start}
body.woocommerce-account .woocommerce>.woocommerce-notices-wrapper,body.woocommerce-account .woocommerce>.woocommerce-message,body.woocommerce-account .woocommerce>.woocommerce-error{grid-column:1/-1}
/* logged-out: login + register */
body.woocommerce-account:not(.logged-in) .woocommerce{display:block}
body.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1000px;margin:0 auto}
body.woocommerce-account #customer_login .u-column1,body.woocommerce-account #customer_login .u-column2{float:none;width:auto;padding:clamp(1.4rem,3vw,2.2rem);background:#fff;border:1px solid #eee3dc;border-radius:22px}
body.woocommerce-account #customer_login h2{margin:0 0 1.2rem;font-size:1.6rem}
body.woocommerce-account form.woocommerce-form-login,body.woocommerce-account form.woocommerce-form-register,body.woocommerce-account .woocommerce-ResetPassword{border:0!important;padding:0!important;margin:0!important;border-radius:0}
/* form fields (match checkout: roomy, red line) */
body.woocommerce-account .woocommerce form .form-row{margin:0 0 1.1rem;padding:0}
body.woocommerce-account .woocommerce form .form-row label{display:block;margin-bottom:.4rem;font-weight:600;color:#111}
body.woocommerce-account .woocommerce form .form-row .required{color:var(--red)}
body.woocommerce-account .woocommerce input.input-text,body.woocommerce-account .woocommerce select,body.woocommerce-account .woocommerce textarea{width:100%;padding:.95em 1.1em;border:1px solid #e6dcd5;border-bottom:2px solid var(--red);border-radius:12px;background:#fff;color:#111;font:inherit;min-height:54px;transition:border-color .2s,box-shadow .2s}
body.woocommerce-account .woocommerce input.input-text:focus,body.woocommerce-account .woocommerce select:focus,body.woocommerce-account .woocommerce textarea:focus{outline:0;border-color:var(--deep-yellow);box-shadow:0 0 0 3px rgba(242,169,0,.22)}
body.woocommerce-account .woocommerce .password-input{display:block}
body.woocommerce-account .woocommerce .show-password-input{top:50%;transform:translateY(-50%);right:1rem}
body.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 0 1rem;font-weight:500}
body.woocommerce-account .woocommerce-form-login__submit,body.woocommerce-account .woocommerce-form-register__submit{margin:.4rem 0 0}
body.woocommerce-account .lost_password{margin:1.2rem 0 0}
/* buttons */
body.woocommerce-account .woocommerce .button,body.woocommerce-account .woocommerce button.button{background:var(--red);color:#fff;border:2px solid var(--red);border-radius:99px;padding:.8em 1.8em;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
body.woocommerce-account .woocommerce .button:hover,body.woocommerce-account .woocommerce button.button:hover{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
/* logged-in: side menu */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:.6rem;background:var(--cream);border-radius:20px;position:sticky;top:100px}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:14px;color:var(--text);font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.woocommerce-MyAccount-navigation li a::before{content:"";flex:none;width:1.25rem;height:1.25rem;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.woocommerce-MyAccount-navigation li a:hover{background:#fff;color:var(--red)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--red);color:#fff}
.woocommerce-MyAccount-navigation li.is-active a:hover{color:#fff}
.woocommerce-MyAccount-navigation li:last-child a{color:#8a3b36}
.woocommerce-MyAccount-navigation-link--dashboard a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8v9a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--orders a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14l-1 13H6zM9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-address a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-5.6-7-11a7 7 0 0 1 14 0c0 5.4-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-account a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4.5 4-6.5 8-6.5s7 2 8 6.5'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--customer-logout a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E")}
/* logged-in: content */
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>p:first-child{font-size:1.15rem;color:#111}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{margin:0 0 1rem}
.acc-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.6rem}
.acc-tile{display:grid;gap:.25rem;padding:1.4rem;border:1px solid #eee3dc;border-radius:20px;background:#fff;color:var(--text)!important;text-decoration:none!important;transition:transform .25s,border-color .25s}
.acc-tile:hover{transform:translateY(-5px);border-color:rgba(215,38,30,.45)}
.acc-tile__icon{width:46px;height:46px;border-radius:50%;background:#fbe3e1;position:relative;margin-bottom:.5rem}
.acc-tile__icon::after{content:"";position:absolute;inset:12px;background:var(--red);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.acc-tile--menu .acc-tile__icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3v18M3 12h18'/%3E%3C/svg%3E")}
.acc-tile--orders .acc-tile__icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14l-1 13H6zM9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
.acc-tile--edit-address .acc-tile__icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-5.6-7-11a7 7 0 0 1 14 0c0 5.4-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E")}
.acc-tile--edit-account .acc-tile__icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4.5 4-6.5 8-6.5s7 2 8 6.5'/%3E%3C/svg%3E")}
.acc-tile__title{font-weight:700;font-size:1.1rem;color:#111}
.acc-tile__text{font-size:.93rem}
/* tables + addresses */
.woocommerce-MyAccount-content table.shop_table,.woocommerce-MyAccount-content table.woocommerce-orders-table{width:100%;border:1px solid #eee3dc;border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce-MyAccount-content table th{background:var(--cream);text-align:left;padding:.9rem 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.woocommerce-MyAccount-content table td{padding:.9rem 1rem;border-top:1px solid #f0e8e2}
.woocommerce-MyAccount-content .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.woocommerce-MyAccount-content .woocommerce-Address{float:none;width:auto;padding:1.4rem;border:1px solid #eee3dc;border-radius:20px}
.woocommerce-MyAccount-content .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}
.woocommerce-MyAccount-content .woocommerce-Address-title h2{margin:0;font-size:1.2rem}
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit{font-weight:600}
.woocommerce-MyAccount-content .woocommerce-info,.woocommerce-MyAccount-content .woocommerce-message{border-radius:14px}
@media (max-width:900px){
	body.woocommerce-account .woocommerce{grid-template-columns:1fr}
	.woocommerce-MyAccount-navigation ul{position:static;display:flex;flex-wrap:wrap;gap:.2rem}
	body.woocommerce-account #customer_login{grid-template-columns:1fr}
	.acc-tiles,.woocommerce-MyAccount-content .woocommerce-Addresses{grid-template-columns:1fr}
}
body.woocommerce-account #customer_login::before,body.woocommerce-account #customer_login::after{display:none!important;content:none!important}
body.woocommerce-account .woocommerce input.input-text,body.woocommerce-account .woocommerce select,body.woocommerce-account .woocommerce textarea{box-sizing:border-box;height:auto;min-height:0;padding:.9em 1.1em;line-height:1.4}
body.woocommerce-account .woocommerce textarea{min-height:120px}
body.woocommerce-account .woocommerce::before,body.woocommerce-account .woocommerce::after{display:none!important;content:none!important}
.woocommerce-MyAccount-content:has(.acc-tiles)>p{display:none}
.acc-hello h2{margin:0 0 .3rem;font-size:1.9rem}
.acc-hello p{margin:0;color:var(--muted)}
body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important}
.woocommerce-MyAccount-content .woocommerce-Addresses::before,.woocommerce-MyAccount-content .woocommerce-Addresses::after{display:none!important;content:none!important}
.woocommerce-MyAccount-content .woocommerce-Address{box-sizing:border-box;min-width:0}
.woocommerce-MyAccount-content .woocommerce-Address-title{flex-wrap:wrap}
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit{text-decoration:none;display:inline-block;padding:.4em 1em;border:2px solid var(--red);border-radius:99px;font-size:.85rem;white-space:nowrap}
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
.woocommerce-MyAccount-content address{font-style:normal;line-height:1.7}
.woocommerce-MyAccount-content fieldset{border:1px solid #eee3dc;border-radius:16px;padding:1.2rem 1.4rem;margin:1.2rem 0}
.woocommerce-MyAccount-content fieldset legend{padding:0 .6rem;font-weight:700;color:#111}
.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address{width:100%!important;max-width:none!important;float:none!important;justify-self:stretch}
.woocommerce-MyAccount-content .woocommerce-info,.woocommerce-MyAccount-content .woocommerce-message{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;padding:1.1rem 1.4rem 1.1rem 3.2rem}
.woocommerce-MyAccount-content .woocommerce-info .button,.woocommerce-MyAccount-content .woocommerce-message .button{float:none!important;margin:0!important;order:2}

/* Beverages: upright photos sit in the same square box as the food, so their size matches the food thumbnails */
.menu-track .menu-card--drinks .menu-card__img{position:relative;display:block;aspect-ratio:1/1;height:auto}
.menu-track .menu-card--drinks .menu-card__img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain;padding:10%;box-sizing:border-box;transform-origin:50% 60%}
.menu-track .menu-card--drinks:hover .menu-card__img{transform:none}
.menu-track .menu-card--drinks:hover .menu-card__img img{transform:scale(1.05)}

/* Phones: the "Popular Dishes" carousel shows exactly one product at a time */
@media (max-width:520px){
	.menu-track{padding-left:0;padding-right:0;gap:1rem}
	.menu-track .menu-card{flex:0 0 100%;max-width:100%;scroll-snap-align:center;scroll-snap-stop:always}
	.slider-dots{display:flex}
}
@media (max-width:520px){.slider-ui{display:flex;margin-top:.6rem}}


/* Page hero: keep the garlic clear of the header menu (it used to float over "Home / Menu") */
@media (min-width:901px){.page-hero .ph-garlic{top:auto;bottom:16px;left:24%}}
@media (min-width:901px){.page-hero .ph-basil{top:42%}}

/* ===== Responsive hardening ===== */
img,video,svg,iframe{max-width:100%}
.about-values__grid,.events-types,.pizza-row__grid,.features,.reviews,.footer__cols,.acc-tiles,.pp-related__grid{min-width:0}
.about-values__grid>*,.events-types>*,.features>*,.reviews>*,.footer__cols>*,.pp-related__grid>*{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.about-values__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card{padding:1.2rem 1rem}.about-card h3{font-size:1.1rem}}
@media (max-width:400px){.about-values__grid{grid-template-columns:1fr}}
/* empty cart favourites */
@media (max-width:900px){body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{grid-template-columns:minmax(0,1fr)}body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{padding:1rem!important}}

/* "Home Delivery Available" band: the two buttons always sit side by side */
.delivery__cta{flex-wrap:wrap}
.delivery__cta .btn{flex:1 1 calc(50% - .4rem);min-width:0;white-space:nowrap;text-align:center;justify-content:center}
@media (max-width:900px){.delivery__cta{justify-content:stretch}}
@media (max-width:520px){.delivery__cta{gap:.6rem}.delivery__cta .btn{flex-basis:calc(50% - .3rem);padding-left:.6rem;padding-right:.6rem;font-size:.8rem}}
@media (max-width:360px){.delivery__cta .btn{font-size:.72rem;padding-left:.4rem;padding-right:.4rem}}
/* Delivery band buttons: text centred exactly (flex centring + a small optical nudge for the font's vertical metrics) */
.delivery__cta .btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;line-height:1.2;padding-top:calc(.6rem + 1.5px);padding-bottom:calc(.6rem - 1.5px);text-align:center}

/* Logo (Customizer > Site Identity > Logo): sized to fit the header and footer whatever the artist's file size is */
.brand .custom-logo-link{display:inline-flex;align-items:center}
.brand img.custom-logo{display:block;width:auto;height:auto;max-height:52px;max-width:min(240px,52vw);object-fit:contain}
.site-footer .brand img.custom-logo{max-height:64px;max-width:min(260px,70vw)}
@media (max-width:600px){.brand img.custom-logo{max-height:40px;max-width:46vw}}
/* The photo-colour behind the background video, so the section looks right while (or if) the video does not load */
.has-video{background-color:#2a1d17}

/* Variation choices: never show the plain drop-downs. They are hidden from the first paint (the "js" class is set in <head>),
   a pill-shaped placeholder holds the space, and the real pills fade in when the script is ready. */
.js form.variations_form select{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.js form.variations_form td.value{position:relative}
.js form.variations_form td.value:not(.fd-has-swatches){min-height:52px}
.js form.variations_form td.value:not(.fd-has-swatches)::before{content:"";display:block;width:min(100%,19rem);height:48px;border-radius:50px;background:linear-gradient(90deg,#f1ebe5 0%,#f8f4f0 50%,#f1ebe5 100%);background-size:200% 100%;animation:fdShimmer 1.2s linear infinite}
.js .fd-swatches{animation:fdFadeIn .22s ease both}
@keyframes fdShimmer{to{background-position:-200% 0}}
@keyframes fdFadeIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.js form.variations_form td.value:not(.fd-has-swatches)::before{animation:none}.js .fd-swatches{animation:none}}

/* "You Might Also Like": every photo sits in the same square box, however tall or wide the picture is */
.pp-card__img{position:relative;overflow:hidden;aspect-ratio:1/1;height:auto}
.pp-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;box-sizing:border-box}
/* same safeguard for the Cart "Popular right now" cards */
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image{position:relative;overflow:hidden}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;padding:4%;box-sizing:border-box}

/* Slide-in animations and decorations can briefly stick out of the screen: never let that create a sideways scrollbar. */
html,body{overflow-x:clip}

/* ===== A little more life =====
   Everything here is gentle, uses only cheap properties, switches off for visitors who prefer reduced motion,
   and can be compared with the plain site by adding ?life=off to any address. */
.fd-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:1200;background:linear-gradient(90deg,var(--red),var(--deep-yellow));transform:scaleX(var(--p,0));transform-origin:0 50%;pointer-events:none}
.fd-toast{position:fixed;left:50%;bottom:24px;z-index:1300;display:flex;align-items:center;gap:.9rem;padding:.8rem 1.1rem .8rem 1.3rem;border-radius:99px;background:#1f1a17;color:#fff;font-weight:600;font-size:.95rem;box-shadow:0 14px 34px rgba(0,0,0,.28);transform:translate(-50%,24px);opacity:0;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),opacity .3s;pointer-events:none;max-width:calc(100vw - 32px)}
.fd-toast.is-on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.fd-toast a{color:#111;background:var(--gold);padding:.4em 1em;border-radius:99px;text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.fd-toast a:hover{background:var(--deep-yellow)}
.fd-toast__tick{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2e9e55;font-size:.8rem;line-height:1}
.fd-word{display:inline-block;transition:color .35s,transform .35s}
.fd-word.is-lit{color:var(--deep-yellow);transform:translateY(-2px)}

@media (prefers-reduced-motion:no-preference){
	html:not(.no-life) .hero__art img.board{transform-origin:50% 62%;animation:fdSway 8s ease-in-out infinite}
	html:not(.no-life) .delivery__text .line-icon{animation:fdBob 2.6s ease-in-out infinite}
	html:not(.no-life) .hero .btn:not(.btn--ghost){animation:fdBtnPulse 3.8s ease-out infinite}
	html:not(.no-life) .cart-count.is-bump{display:inline-block;animation:fdBump .7s cubic-bezier(.3,1.6,.5,1)}
	html:not(.no-life) .primary-nav a{position:relative}
	html:not(.no-life) .primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--red);transform:scaleX(0);transform-origin:50% 50%;transition:transform .28s ease}
	html:not(.no-life) .primary-nav a:hover::after,html:not(.no-life) .primary-nav .current-menu-item a::after{transform:scaleX(1)}
	html:not(.no-life) .btn{position:relative;overflow:hidden}
	html:not(.no-life) .btn::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
	html:not(.no-life) .btn:hover::after{left:150%}
	@keyframes fdSway{0%,100%{rotate:-1.3deg;scale:1}50%{rotate:1.3deg;scale:1.025}}
	@keyframes fdBob{0%,100%{translate:0 0}50%{translate:0 -4px}}
	@keyframes fdBtnPulse{0%,70%{box-shadow:0 0 0 0 rgba(215,38,30,0)}80%{box-shadow:0 0 0 0 rgba(215,38,30,.4)}100%{box-shadow:0 0 0 14px rgba(215,38,30,0)}}
	@keyframes fdBump{0%{transform:scale(1)}35%{transform:scale(1.7)}100%{transform:scale(1)}}
}
@media (prefers-reduced-motion:reduce){.fd-progress{display:none}.fd-toast{transition:none}}
.fd-toast>span:nth-child(2){white-space:nowrap}@media (max-width:420px){.fd-toast{gap:.6rem;padding:.65rem .8rem .65rem 1rem;font-size:.88rem}.fd-toast a{padding:.35em .8em}}
/* "Our Strength" fades into a grey band, so the booking section that now follows it takes that grey */
#booking{background:var(--cream)}

/* ===== Cart drawer ===== */
body.fd-drawer-open{overflow:hidden}
.fd-drawer{position:fixed;inset:0;z-index:1400;visibility:hidden;pointer-events:none}
.fd-drawer.is-open{visibility:visible;pointer-events:auto}
.fd-drawer__shade{position:absolute;inset:0;background:rgba(20,14,11,.5);opacity:0;transition:opacity .3s}
.fd-drawer.is-open .fd-drawer__shade{opacity:1}
.fd-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 44px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);outline:0}
.fd-drawer.is-open .fd-drawer__panel{transform:none}
.fd-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;border-bottom:1px solid #eee3dc}
.fd-drawer__head h2{margin:0;font-size:1.35rem}
.fd-drawer__n{color:var(--red);font-weight:700}
.fd-drawer__x{appearance:none;border:2px solid var(--red);background:transparent;color:var(--red);width:40px;height:40px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px;transition:background .2s,color .2s}
.fd-drawer__x:hover,.fd-drawer__x:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
.fd-drawer__body{flex:1;overflow-y:auto;padding:.4rem 1.3rem 1rem;-webkit-overflow-scrolling:touch}
.fd-drawer__list{list-style:none;margin:0;padding:0}
.fd-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:.9rem;padding:1rem 2rem 1rem 0;border-bottom:1px solid #f0e8e2;transition:opacity .2s}
.fd-item.is-busy{opacity:.45;pointer-events:none}
.fd-item__img{display:block;width:72px;height:72px;border-radius:14px;background:var(--cream);overflow:hidden}
.fd-item__img img{width:100%;height:100%;object-fit:contain;padding:6%;box-sizing:border-box}
.fd-item__name{display:block;font-weight:700;color:#111;text-decoration:none;line-height:1.3}
.fd-item__name:hover{color:var(--red)}
.fd-item__opts{list-style:none;margin:.25rem 0 0;padding:0;font-size:.82rem;color:var(--muted);line-height:1.45}
.fd-item__row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.6rem}
.fd-qty{display:inline-flex;align-items:center;border:1.5px solid #e3d9ce;border-radius:99px;overflow:hidden}
.fd-qty button{appearance:none;border:0;background:transparent;width:34px;height:34px;font-size:1.15rem;line-height:1;cursor:pointer;color:var(--red);font-weight:700;transition:background .2s}
.fd-qty button:hover:not(:disabled){background:#fbe3e1}
.fd-qty button:disabled{color:#c9bfb6;cursor:default}
.fd-qty span{min-width:28px;text-align:center;font-weight:700}
.fd-item__price{color:var(--red);white-space:nowrap}
.fd-item__rm{position:absolute;top:.8rem;right:0;appearance:none;border:0;background:transparent;color:#9a8c82;width:28px;height:28px;border-radius:50%;font-size:1.3rem;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.fd-item__rm:hover,.fd-item__rm:focus-visible{background:#fbe3e1;color:var(--red)}
.fd-drawer__foot{padding:1rem 1.3rem 1.3rem;border-top:1px solid #eee3dc;background:#fffaf6}
.fd-drawer__foot:empty{display:none}
.fd-drawer__sub{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}
.fd-drawer__sub strong{font-size:1.3rem;color:#111}
.fd-drawer__note{margin:.3rem 0 .9rem;font-size:.85rem;color:var(--muted)}
.fd-drawer__btns{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.fd-drawer__btns .btn{text-align:center;padding-left:.8rem;padding-right:.8rem}
.fd-drawer__empty{text-align:center;padding:3rem 0}
.fd-drawer__empty p{margin:0 0 1.2rem;font-size:1.1rem}
.fd-drawer__loading,.fd-drawer__err{padding:1.2rem 0;color:var(--muted)}
.fd-drawer__err{color:var(--red-d)}
@media (prefers-reduced-motion:reduce){.fd-drawer__panel,.fd-drawer__shade{transition:none}}
.fd-drawer__btns .btn--ghost{background:transparent;color:var(--red);border:2px solid var(--red)}.fd-drawer__btns .btn--ghost:hover,.fd-drawer__btns .btn--ghost:focus-visible{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}.fd-drawer__btns .btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px}

/* ===== Aesthetic layer: warm editorial look =====
   Warm cream replaces the cool grey (done above by value), one display font for headlines, and a few signature pieces:
   a rotating seal, a scrolling text band, big outline words and a cropped footer wordmark. To undo, restore the files in
   pizza-wp/_backup-before-aesthetic/ . */

/* display headlines: the same chunky face as the hero title */
.section__head h2,.page-hero h1,.about-cta h2,.delivery__text h2,.footer__join h3,.pp-about h2,.acc-hello h2,.legal__body h2{font-family:"Lilita One","Montserrat",system-ui,sans-serif;font-weight:400;letter-spacing:.008em}
.section__head h2{font-size:clamp(2.1rem,4.2vw,3.3rem);line-height:1.08}
.page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05}
.about-cta h2{font-size:clamp(2.2rem,5vw,3.6rem)}
.delivery__text h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.legal__body h2{font-size:1.5rem}

/* paper grain: a whisper of texture so flat colour feels printed, not digital */
body::after{content:"";position:fixed;inset:0;z-index:1100;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* rotating seal on the hero */
.hero__art{position:relative}
.seal{position:absolute;left:-3%;bottom:4%;z-index:4;width:clamp(88px,10vw,128px);aspect-ratio:1;filter:drop-shadow(0 10px 18px rgba(176,28,21,.28))}
.seal svg{display:block;width:100%;height:100%;overflow:visible}
.seal__ring{transform-origin:60px 60px}
@media (prefers-reduced-motion:no-preference){html:not(.no-life) .seal__ring{animation:fdSpin 26s linear infinite}}
@keyframes fdSpin{to{transform:rotate(360deg)}}
@media (max-width:900px){.seal{left:2%;bottom:-2%;width:84px}}

/* scrolling text band between the hero and the first section */
.marquee{position:relative;z-index:5;overflow:hidden;background:var(--red);color:#fff;transform:rotate(-1.2deg);margin:-1.6rem -3% 1.6rem;padding:.8rem 0;box-shadow:0 10px 24px rgba(176,28,21,.18)}
.marquee__track{display:flex;width:max-content}
.marquee__set{display:flex;align-items:center;flex:none}
.marquee__set span{font:400 clamp(1.3rem,2.6vw,2rem)/1 "Lilita One","Montserrat",sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:0 1.4rem;white-space:nowrap}
.marquee__set span.o{color:transparent;-webkit-text-stroke:1.5px #fff}
.marquee__set i{flex:none;width:14px;height:14px;background:var(--gold);transform:rotate(45deg);border-radius:3px}
@media (prefers-reduced-motion:no-preference){html:not(.no-life) .marquee__track{animation:fdMarquee 34s linear infinite}html:not(.no-life) .marquee:hover .marquee__track{animation-play-state:paused}}
@keyframes fdMarquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{width:100%;justify-content:center;flex-wrap:wrap}.marquee__set:nth-child(2){display:none}}

/* big outline words behind a few sections */
#menu,.pizza-row,#booking{position:relative;overflow:hidden}
#menu::before,.pizza-row::before,#booking::before{position:absolute;left:50%;top:1.2rem;transform:translateX(-50%);z-index:0;pointer-events:none;white-space:nowrap;font:400 clamp(6rem,19vw,16rem)/1 "Lilita One","Montserrat",sans-serif;color:transparent;-webkit-text-stroke:2px rgba(215,38,30,.1);letter-spacing:.02em}
#menu::before{content:"MENU"}
.pizza-row::before{content:"OVEN"}
#booking::before{content:"TABLE"}
#menu>.container,.pizza-row>.container,#booking>.container{position:relative;z-index:1}


/* softer, warmer product and card surfaces */
.menu-card,.pp-card,.pizza-type,.about-card,.events-type,.feature{background:#fff}
/* a link to a section of the home page (like "Booking") should not look like the page you are on */
html:not(.no-life) .primary-nav .current-menu-item a[href*="#"]::after{transform:scaleX(0)}
html:not(.no-life) .primary-nav .current-menu-item a[href*="#"]:hover::after{transform:scaleX(1)}
.primary-nav .current-menu-item a[href*="#"]{color:inherit}
.story h2,.ice h2,.booking h2,.contact__form-wrap h2,.pp-related h2,.about-story__text h2,.about-flow h2,.events-intro h2{font-family:"Lilita One","Montserrat",system-ui,sans-serif;font-weight:400;letter-spacing:.008em;line-height:1.1}
.story h2,.ice h2,.booking h2,.about-story__text h2{font-size:clamp(2rem,4vw,3rem)}
.primary-nav .current-menu-item a[href*="#"]{color:#111}.primary-nav .current-menu-item a[href*="#"]:hover{color:var(--red)}

/* Contact page: the title bar melts into the grey form section below it (same blur-and-fade merger as the other pages,
   but fading to the section's grey instead of white, so there is no white band in between) */
.page-template-page-contact-php .page-hero::after{background:linear-gradient(to bottom,rgba(239,239,239,0),#efefef)}
.page-template-page-contact-php .contact{padding-top:1.2rem}


/* About page: the "Handmade pizza" grey section melts into the white sections above and below it
   (blur-and-fade merger, same as the homepage) */
.about-showcase{position:relative;overflow:hidden;padding-top:clamp(6rem,10vw,8rem);padding-bottom:clamp(6rem,10vw,8rem)}
.about-showcase::before,.about-showcase::after{content:"";position:absolute;left:0;right:0;height:130px;z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.about-showcase::before{top:0;background:linear-gradient(to bottom,#fff,rgba(255,255,255,0));-webkit-mask-image:linear-gradient(to bottom,#000 18%,transparent 100%);mask-image:linear-gradient(to bottom,#000 18%,transparent 100%)}
.about-showcase::after{bottom:0;background:linear-gradient(to top,#fff,rgba(255,255,255,0));-webkit-mask-image:linear-gradient(to top,#000 18%,transparent 100%);mask-image:linear-gradient(to top,#000 18%,transparent 100%)}
.about-showcase>.container{position:relative;z-index:3}

/* "Join the pizza club" messages: readable on the red card */
.footer-news__msg{display:inline-flex;align-items:center;gap:.55rem;margin:.7rem 0 0;padding:.55em 1em;border-radius:12px;font-weight:600;font-size:.92rem;line-height:1.35}
body .site-footer .footer__join .footer-news__msg--ok{background:#fff;color:#1f6b3a}
body .site-footer .footer__join .footer-news__msg--err{background:#fff;color:#a01712}
.footer-news__msg::before{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:.72rem;line-height:1}
.footer-news__msg--ok::before{content:"\2713";background:#2e9e55}
.footer-news__msg--err::before{content:"!";background:#d7261e}

/* Order again */
.fd-reorder{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.4rem 0}
.fd-reorder__hint{font-size:.9rem;color:var(--muted)}
.fd-reorder--thanks{justify-content:space-between;padding:1.3rem 1.5rem;border:1px solid #eee3dc;border-radius:20px;background:#fff}
.fd-reorder--thanks>div{display:grid;gap:.15rem}
.fd-reorder--thanks strong{font-size:1.15rem;color:#111}
.fd-reorder--thanks span{color:var(--muted);font-size:.95rem}
body .woocommerce a.button.order-again,body .woocommerce a.button.fd-reorder__btn{background:var(--red);color:#fff;border:2px solid var(--red);border-radius:99px;padding:.7em 1.6em;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
body .woocommerce a.button.order-again:hover,body .woocommerce a.button.fd-reorder__btn:hover{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111}
.acc-last{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;margin-top:1.4rem;padding:1.2rem 1.4rem;border-radius:20px;background:#fff;border:1px solid #eee3dc}
.acc-last__text{display:grid;gap:.15rem;min-width:0}
.acc-last__tag{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.acc-last strong{font-size:1.1rem;color:#111}
.acc-last__text>span:last-child{color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}
.woocommerce-cart .woocommerce-message,.woocommerce-cart .woocommerce-info{border-radius:14px;margin:0 0 1.2rem}
body .fd-reorder--thanks a.btn{background:var(--red);color:#fff!important;border:2px solid var(--red);text-decoration:none;white-space:nowrap}body .fd-reorder--thanks a.btn:hover{background:var(--deep-yellow);border-color:var(--deep-yellow);color:#111!important}body .acc-last a.btn{color:#fff!important;text-decoration:none;white-space:nowrap}body .acc-last a.btn:hover{color:#111!important;background:var(--deep-yellow);border-color:var(--deep-yellow)}

/* Checkout "Edit items" / "Add more" buttons: the page-text link colour was winning and turned the white label red on red */
body .fd-edit-links a{text-decoration:none!important}
body .fd-edit-links a.fd-edit-links__edit{background:var(--red);border-color:var(--red);color:#fff}
body .fd-edit-links a.fd-edit-links__more{background:transparent;border-color:var(--red);color:var(--red)}
body .fd-edit-links a.fd-edit-links__edit:hover,body .fd-edit-links a.fd-edit-links__edit:focus-visible,body .fd-edit-links a.fd-edit-links__more:hover,body .fd-edit-links a.fd-edit-links__more:focus-visible{background:var(--deep-yellow,#f2a900);border-color:var(--deep-yellow,#f2a900);color:#111}

/* footer bar: keep the back-to-top button clear of the links on small screens */
@media (max-width:640px){.footer__bar{padding-bottom:4.2rem}.footer__bar-in{flex-direction:column;align-items:flex-start;gap:.6rem}}

/* ===== Desktop header: logo in the middle, menu split either side ===== */
.primary-nav--split{display:none}.header__right{display:contents}
@media (min-width:901px){
	.header__in{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"left brand right";align-items:center;gap:1.5rem;padding:.55rem 0}
	.header__in>.brand{grid-area:brand;margin:0;justify-self:center}
	.header__in>.nav-toggle,.header__in>#primary-nav{display:none}
	.primary-nav--left{display:block;grid-area:left;justify-self:start}
	.header__right{display:flex;grid-area:right;justify-self:end;align-items:center;gap:2rem}
	.primary-nav--right{display:block}
	.primary-nav--split .menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
	.brand img.custom-logo{max-height:92px;max-width:110px;transition:max-height .25s}
	.site-header.is-stuck .brand img.custom-logo{max-height:76px}
	.hero{padding-top:calc(clamp(3rem,8vw,6rem) + 96px)}
	body:not(.home) .page-hero{padding-top:calc(96px + 3.2rem)}
}
/* keep both menu halves the same distance from the logo; cart + Order Now stay at the far right */
@media (min-width:901px){
	.header__in{column-gap:2.4rem}
	.primary-nav--left{justify-self:end}
	.header__right{justify-self:stretch;justify-content:space-between;gap:1rem}
}
/* wider gaps between menu items (desktop) and a bigger logo on phones */
@media (min-width:901px){.primary-nav--split .menu{gap:clamp(1.6rem,3vw,3rem)}}
@media (max-width:900px){.brand img.custom-logo{max-height:60px;max-width:30vw}.header__in{padding:.5rem 0}}
@media (max-width:900px){.brand img.custom-logo{max-height:76px;max-width:38vw}}
/* bigger logo in the main (top) header; the sticky bar keeps the smaller size */
.brand img.custom-logo{transition:max-height .25s,max-width .25s}
@media (min-width:901px){
	.brand img.custom-logo{max-height:116px;max-width:136px}
	.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:110px}
	.hero{padding-top:calc(clamp(3rem,8vw,6rem) + 120px)}
	body:not(.home) .page-hero{padding-top:calc(120px + 3.2rem)}
}
@media (max-width:900px){
	.brand img.custom-logo{max-height:92px;max-width:44vw}
	.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:38vw}
}
/* footer: bigger logo, no tagline */
.site-footer .brand img.custom-logo{max-height:130px;max-width:min(170px,60vw)}
.footer__brand .brand{margin-bottom:1rem}
.site-footer .brand img.custom-logo{max-height:160px;max-width:min(210px,70vw)}
/* homepage hero: back to its original position (the taller header floats over it, so no extra push down) */
@media (min-width:901px){.hero{padding-top:calc(clamp(3rem,8vw,6rem) + 76px)}}
/* phones: the taller header must not sit on the hero's floating leaves */
@media (max-width:900px){
	.hero{padding-top:calc(3rem + 100px)}
	.hero__art .ha-chili{top:4%;left:3%}
	.hero__art .ha-onion{top:2%}
}
/* header logo a little bigger (top of page); the sticky bar keeps its smaller size */
@media (min-width:901px){.brand img.custom-logo{max-height:132px;max-width:150px}.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:110px}}
@media (max-width:900px){.brand img.custom-logo{max-height:106px;max-width:48vw}.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:38vw}}
/* header logo, a bit larger again (top of page only; the sticky bar keeps its size) */
@media (min-width:901px){.brand img.custom-logo{max-height:148px;max-width:166px}.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:110px}}
@media (max-width:900px){.brand img.custom-logo{max-height:118px;max-width:52vw}.site-header.is-stuck .brand img.custom-logo{max-height:76px;max-width:38vw}}

/* contact info strip: cards size to their content so a long e-mail address never runs into the next card */
.contact-info__grid{display:flex;flex-wrap:wrap;gap:1.5rem 0}
.info-card{flex:1 1 210px;min-width:0}
.info-card--email{flex:1.8 1 310px}
.info-card>div{min-width:0}
.info-card p,.info-card a{overflow-wrap:anywhere}
@media (max-width:1000px){.info-card,.info-card:first-child{border-left:0;padding-left:0}}

/* cart + checkout: the form / item list always on the left (wide), the order summary on the right,
   whatever order WooCommerce prints them in */
@media (min-width:782px){
  body .wc-block-components-sidebar-layout > .wc-block-components-main{grid-column:1;grid-row:1}
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{grid-column:2;grid-row:1}
}

/* cart + checkout use the wide page width, so the form gets plenty of room */
body.woocommerce-checkout .container.content.entry,
body.woocommerce-cart .container.content.entry{max-width:1180px}
@media (min-width:782px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout,
  body.woocommerce-cart .wc-block-components-sidebar-layout{grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)}
}

/* ===== Page loader (footer logo) ===== */
.fd-loader{display:none;position:fixed;inset:0;z-index:3000;align-items:center;justify-content:center;background:#fdfdfd;transition:opacity .5s ease,visibility .5s ease}
.js .fd-loader{display:flex}
html.fd-loading{overflow:hidden}
.fd-loader__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.fd-loader__logo{display:block;width:min(190px,46vw);height:auto;animation:fdLoaderPulse 1.7s ease-in-out infinite;filter:drop-shadow(0 14px 18px rgba(0,0,0,.18))}
.fd-loader__text{font:400 2rem/1.1 "Lilita One","Montserrat",sans-serif;color:var(--red);animation:fdLoaderPulse 1.7s ease-in-out infinite}
.fd-loader__bar{position:relative;display:block;width:130px;height:4px;margin-top:1.6rem;border-radius:4px;background:rgba(215,38,30,.15);overflow:hidden}
.fd-loader__bar::after{content:"";position:absolute;top:0;bottom:0;left:0;width:42%;border-radius:4px;background:var(--red);animation:fdLoaderBar 1.15s ease-in-out infinite}
@keyframes fdLoaderPulse{0%,100%{transform:scale(.95)}50%{transform:scale(1.04)}}
@keyframes fdLoaderBar{0%{transform:translateX(-100%)}100%{transform:translateX(330%)}}
/* later pages: only show if loading takes a moment, so quick page changes do not flash */
html.fd-loader-repeat .fd-loader{opacity:0;animation:fdLoaderShow .01s linear .4s forwards}
@keyframes fdLoaderShow{to{opacity:1}}
.fd-loader.is-done{opacity:0!important;visibility:hidden;animation:none!important;pointer-events:none}
@media (prefers-reduced-motion:reduce){.fd-loader__logo,.fd-loader__text,.fd-loader__bar::after{animation:none}.fd-loader{transition-duration:.15s}}

/* ===== Career page ===== */
.career .contact__grid{align-items:start}
.career__form{grid-template-columns:1fr 1fr;gap:1.1rem 1rem}
.career__field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.career__field--wide{grid-column:1/-1}
.career__field label{font-weight:600;font-size:.92rem;color:#2a2320}
.career__field abbr{color:var(--red);text-decoration:none;border:0}
.career__opt{font-weight:500;color:#8a8179}
.career__form input[type=date]{min-height:3.1em}
.career__form textarea{min-height:0}
.career__send{justify-self:start}
.career__note{grid-column:1/-1;margin:0;font-size:.88rem;color:#8a8179}
.career__side{background:#fff;border-radius:22px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 14px 36px rgba(28,20,17,.08)}
.career__side h2{margin:.2rem 0 1.2rem}
.career__steps{list-style:none;counter-reset:cs;margin:0 0 1.4rem;padding:0;display:grid;gap:1.1rem}
.career__steps li{counter-increment:cs;position:relative;padding-left:3.2rem;display:flex;flex-direction:column;gap:.15rem}
.career__steps li::before{content:counter(cs);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.career__steps strong{font-size:1.05rem;color:#111}
.career__steps span{color:#666;line-height:1.55}
.career__help{margin:0;color:#666}
.career__help a{color:var(--red);font-weight:600}
@media (max-width:900px){.career__form{grid-template-columns:1fr}.career__side{order:2}}

/* footer social icons: YouTube and TikTok hover colours (same style as Facebook / Instagram) */
body .footer-social a[aria-label="YouTube"]:hover,body .footer-social a[aria-label="YouTube"]:focus-visible{color:#ff0000;border-color:#ff0000}
body .footer-social a[aria-label="TikTok"]:hover,body .footer-social a[aria-label="TikTok"]:focus-visible{color:#111;border-color:#111}
.footer-social{flex-wrap:wrap}

/* checkout: delivery has no fixed price (agreed by phone, maximum 70), so show "To be agreed" instead of "Free" */
body .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
body .wc-block-components-totals-shipping .wc-block-components-totals-item__value{font-size:0;line-height:1}
body .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label::after,
body .wc-block-components-totals-shipping .wc-block-components-totals-item__value::after{content:"To be agreed";font-size:.92rem;font-weight:600;color:#8a8179}
