:root {
  --pizza-ink: #191716;
  --pizza-muted: #6f6760;
  --pizza-line: #eadfd4;
  --pizza-bg: #fffaf4;
  --pizza-surface: #ffffff;
  --pizza-tomato: #df2b20;
  --pizza-tomato-dark: #b91f17;
  --pizza-basil: #0c7a4a;
  --pizza-cream: #fff0d5;
  --pizza-shadow: 0 18px 38px rgba(35, 27, 20, 0.12);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}

body {
  color: var(--pizza-ink);
  background:
    linear-gradient(180deg, #fffaf4 0, #fffaf4 360px, #ffffff 360px),
    var(--pizza-bg);
  overflow-x: hidden;
}

a {
  color: var(--pizza-tomato-dark);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border: 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 92% 22%, rgba(223, 43, 32, 0.5) 0 8px, transparent 9px),
    radial-gradient(circle at 86% 56%, rgba(104, 180, 68, 0.7) 0 15px, transparent 16px),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px),
    #141312;
  background-size: auto, auto, 18px 18px, auto;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.site-header .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 1240px;
  min-height: 96px;
  margin: 0 auto;
  padding: 0 28px;
}

.site-branding {
  position: relative;
  min-width: 250px;
  padding-left: 62px;
}

.site-branding::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 48px;
  height: 48px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 48C20 25 31 13 54 8C49 31 37 42 14 52C12 53 9 51 10 48Z' stroke='%23df2b20' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M17 44H48' stroke='%23df2b20' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='37' cy='22' r='4' fill='%23df2b20'/%3E%3Ccircle cx='29' cy='32' r='4' fill='%23df2b20'/%3E%3Cpath d='M17 20c-5 5-6 10-2 15M23 11c-4 5-4 9 0 13' stroke='%23df2b20' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.site-title a {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: transparent;
  font-size: 0;
  font-weight: 950;
  line-height: 1;
  text-decoration: none;
}

.site-title a::before {
  content: "Pizza";
  color: var(--pizza-tomato);
  font-size: clamp(2rem, 4vw, 2.7rem);
}

.site-title a::after {
  content: "Demo";
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 2.7rem);
}

.site-description {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.98rem;
  font-weight: 700;
}

.site-navigation ul.menu {
  display: flex;
  align-items: center;
  gap: 28px;
}

.site-navigation ul.menu li a {
  position: relative;
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
}

.site-navigation ul.menu li a:hover,
.site-navigation ul.menu li.current-menu-item > a,
.site-navigation ul.menu li.current_page_item > a {
  color: var(--pizza-tomato);
}

.site-navigation ul.menu li.current-menu-item > a::after,
.site-navigation ul.menu li.current_page_item > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -13px;
  left: 0;
  height: 6px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 4px 3px, var(--pizza-tomato) 0 3px, transparent 3.5px) repeat-x;
  background-size: 13px 6px;
}

.menu-item-233 > a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 7px;
  vertical-align: -3px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h2l2 10h9l2-7H8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='19' r='1.5' fill='white'/%3E%3Ccircle cx='17' cy='19' r='1.5' fill='white'/%3E%3C/svg%3E");
}

.site-navigation-toggle {
  color: #ffffff;
  background: transparent;
}

.site-navigation-dropdown {
  background: #171514;
}

.site-navigation-dropdown ul.menu li a {
  color: #ffffff;
}

.pizza-menu-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, #fffaf4 0 55%, rgba(255, 250, 244, 0.2) 70%),
    var(--pizza-bg);
}

.pizza-menu-hero::before {
  content: "";
  position: absolute;
  top: 26px;
  left: -38px;
  width: 220px;
  height: 220px;
  opacity: 0.16;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238a6f5e' stroke-width='2'%3E%3Cpath d='M41 173C95 138 129 86 143 25'/%3E%3Cpath d='M64 143c-28-10-40-31-33-63 31 7 48 28 48 62'/%3E%3Cpath d='M96 104c-24-16-30-39-14-68 27 13 37 37 25 66'/%3E%3Cpath d='M128 63c-17-20-16-43 5-67 21 19 24 43 6 66'/%3E%3C/g%3E%3C/svg%3E");
}

.pizza-menu-hero__inner {
  display: grid;
  grid-template-columns: minmax(620px, 1fr) minmax(280px, 460px);
  align-items: center;
  gap: 28px;
  max-width: 1240px;
  min-height: 300px;
  margin: 0 auto;
  padding: 44px 28px 36px;
}

.pizza-menu-hero__copy {
  position: relative;
  z-index: 1;
}

.pizza-kicker {
  margin: 0 0 14px;
  color: var(--pizza-tomato);
  font-size: 0.85rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pizza-menu-hero h1 {
  max-width: 740px;
  margin: 0 0 18px;
  color: var(--pizza-ink);
  font-size: clamp(3.4rem, 5.1vw, 4.8rem);
  font-weight: 950;
  line-height: 0.93;
  white-space: nowrap;
}

.pizza-menu-hero p {
  max-width: 620px;
  margin: 0;
  color: #443d38;
  font-size: 1.13rem;
  line-height: 1.55;
}

.pizza-wave {
  display: block;
  width: 54px;
  height: 8px;
  margin-top: 22px;
  background:
    radial-gradient(circle at 4px 4px, var(--pizza-tomato) 0 3px, transparent 3.5px) repeat-x;
  background-size: 13px 8px;
}

.pizza-hero__media {
  position: relative;
  align-self: stretch;
  min-height: 250px;
}

.pizza-hero__media::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 80%;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #6dbd45;
  box-shadow: -78px 88px 0 -10px rgba(223, 43, 32, 0.8), -32px 138px 0 -8px rgba(109, 189, 69, 0.8);
  filter: blur(0.2px);
}

.pizza-hero__media img {
  position: absolute;
  right: -88px;
  bottom: -92px;
  width: min(560px, 46vw);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 999px;
  box-shadow: 0 28px 70px rgba(60, 44, 29, 0.22);
}

.pizza-category-nav {
  display: flex;
  gap: 14px;
  width: 100%;
  max-width: 1240px;
  margin: 34px auto 32px;
  padding: 0 28px 8px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.pizza-category-chip {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 10px 18px;
  border: 1px solid var(--pizza-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pizza-ink);
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(35, 27, 20, 0.05);
}

.pizza-category-chip svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.pizza-category-chip.is-active,
.pizza-category-chip:hover {
  border-color: var(--pizza-tomato);
  background: var(--pizza-tomato);
  color: #ffffff;
}

.pizza-section,
.woocommerce main.site-main,
.woocommerce-page main.site-main {
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 28px;
  padding-left: 28px;
}

.woocommerce-breadcrumb,
.woocommerce-products-header > .page-title,
.woocommerce-products-header .term-description,
.woocommerce-products-header > p {
  display: none;
}

.pizza-section__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.pizza-section__header h2,
.woocommerce-products-header__title,
.related.products h2,
.cart_totals h2 {
  margin: 0;
  color: var(--pizza-ink);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.05;
}

.pizza-promo-band {
  max-width: 1240px;
  margin: 22px auto 44px;
  padding: 0 28px;
}

.pizza-promo-band > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 16px 18px;
  border-left: 5px solid var(--pizza-basil);
  border-radius: 8px;
  background: #ffffff;
  color: var(--pizza-muted);
  box-shadow: 0 10px 24px rgba(35, 27, 20, 0.08);
}

.pizza-promo-band strong {
  color: var(--pizza-ink);
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  display: flex;
  flex-direction: column;
  width: 100% !important;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  padding: 0 0 14px;
  overflow: hidden;
  border: 1px solid rgba(234, 223, 212, 0.82);
  border-radius: 8px;
  background: var(--pizza-surface);
  box-shadow: var(--pizza-shadow);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(35, 27, 20, 0.16);
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
  background: var(--pizza-cream);
}

.woocommerce ul.products li.product .woocommerce-placeholder {
  object-fit: contain;
  padding: 44px;
  background:
    radial-gradient(circle at center, #ffffff 0 46%, #fff5e4 47% 100%);
}

.woocommerce-loop-category__title,
.woocommerce-loop-product__title {
  min-height: 2.55em;
  margin: 16px 14px 7px;
  color: var(--pizza-ink);
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.25;
}

.pizza-loop-description {
  min-height: 3.15em;
  margin: 0 14px 12px;
  color: #5d5651;
  font-size: 0.9rem;
  line-height: 1.45;
}

.woocommerce-loop-category__title mark {
  display: none;
}

.woocommerce ul.products li.product .price {
  margin: auto 14px 12px;
  color: var(--pizza-basil);
  font-size: 1.08rem;
  font-weight: 950;
}

.woocommerce-Price-currencySymbol {
  margin-right: 0;
}

.woocommerce ul.products li.product .button {
  align-self: center;
  width: calc(100% - 28px);
  max-width: 160px;
  min-height: 44px;
  margin: 0 auto;
  padding: 12px 18px;
  border: 0;
  border-radius: 8px;
  background: var(--pizza-tomato);
  color: #ffffff;
  font-weight: 950;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(223, 43, 32, 0.24);
}

.woocommerce ul.products li.product .button::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 7px;
  vertical-align: -3px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h2l2 10h9l2-7H8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='19' r='1.5' fill='white'/%3E%3Ccircle cx='17' cy='19' r='1.5' fill='white'/%3E%3C/svg%3E");
}

.pizza-button,
.wp-block-button__link,
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 8px;
  background: var(--pizza-tomato);
  color: #ffffff;
  font-weight: 950;
}

.pizza-button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--pizza-tomato-dark);
  color: #ffffff;
}

.woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  padding: 6px 9px;
  border-radius: 6px;
  background: var(--pizza-tomato);
  line-height: 1;
}

.woocommerce .quantity .qty {
  min-height: 42px;
  border: 1px solid var(--pizza-line);
  border-radius: 6px;
}

.woocommerce div.product {
  max-width: 1240px;
  margin: 34px auto;
  padding: 0 28px;
}

.woocommerce div.product div.images img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  background: var(--pizza-cream);
  box-shadow: var(--pizza-shadow);
}

.woocommerce div.product .product_title {
  color: var(--pizza-ink);
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.02;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--pizza-basil);
  font-size: 1.55rem;
  font-weight: 950;
}

.woocommerce table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #payment,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--pizza-line);
  border-radius: 8px;
  background: var(--pizza-surface);
}

.woocommerce-info,
.woocommerce-message {
  border-top-color: var(--pizza-basil);
  background: #ffffff;
}

.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--pizza-basil);
}

@media (max-width: 1100px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .site-header {
    position: static;
  }

  .site-header .header-inner {
    align-items: flex-start;
    min-height: auto;
    padding: 18px 20px;
  }

  .site-branding {
    min-width: 0;
    padding-left: 52px;
  }

  .site-branding::before {
    width: 42px;
    height: 42px;
  }

  .site-navigation ul.menu {
    gap: 14px;
  }

  .pizza-menu-hero__inner {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 36px 28px 30px;
  }

  .pizza-hero__media {
    display: none;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 560px) {
  .site-header .header-inner {
    padding-right: 12px;
    padding-left: 12px;
  }

  .site-navigation.show {
    display: none;
  }

  .pizza-menu-hero__inner,
  .pizza-section,
  .woocommerce main.site-main,
  .woocommerce-page main.site-main,
  .pizza-category-nav,
  .pizza-promo-band {
    padding-right: 18px;
    padding-left: 18px;
  }

  .pizza-menu-hero h1 {
    font-size: clamp(2.7rem, 15vw, 3.5rem);
    white-space: normal;
  }

  .pizza-category-nav {
    margin-top: 26px;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products li.product .button {
    width: calc(100% - 28px);
    max-width: none;
  }

  .woocommerce-cart .wc-proceed-to-checkout {
    position: sticky;
    bottom: 0;
    z-index: 10;
    padding: 12px 0;
    background: linear-gradient(180deg, rgba(255, 250, 244, 0), var(--pizza-bg) 24%);
  }
}
