/* Nikos Pizza — Aegean taverna theme (not the Slice red storefront) */

:root {
  --ink: #12262e;
  --aegean: #1a4454;
  --aegean-deep: #0e2a33;
  --olive: #6b7f3a;
  --olive-dark: #4d5c28;
  --gold: #c9a24a;
  --gold-soft: #e4c98a;
  --terracotta: #c45c2a;
  --parchment: #f3ead6;
  --parchment-dark: #e6d7b8;
  --cream: #fbf6ea;
  --foam: #fffdf7;
  --shop-colors-1: #f3ead6;
  --shop-colors-2: #1a4454;
  --color-custom: #1a4454;
  --font-color-custom: #f3ead6;
  --color-custom-variant: #6b7f3a;
  --font-family-custom: "Fraunces", Georgia, serif;
  --font-family-gt: "Fraunces", Georgia, serif;
}

html {
  scroll-behavior: smooth;
}

body,
button,
input,
a {
  font-family: "Nunito", "Segoe UI", sans-serif !important;
}

body {
  background: var(--parchment) !important;
  color: var(--ink) !important;
}

.visuallyhidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* ---------- NAV ---------- */
.styles_contentContainer__3RxyV {
  background: var(--aegean-deep) !important;
}

.styles_headerContainer__1IPZw {
  background: transparent !important;
}

.styles_navigation__1xT0F {
  position: sticky;
  top: 0;
  z-index: 50;
}

.styles_navigationContainer__3w7GM {
  background: rgba(14, 42, 51, 0.94) !important;
  backdrop-filter: blur(14px);
  padding: 14px 22px !important;
  border-bottom: 1px solid rgba(201, 162, 74, 0.35);
}

.styles_shopName__1h4-u,
.styles_shopName__1XTmy {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 600 !important;
  font-style: italic;
  letter-spacing: 0.02em;
  text-transform: none !important;
  font-size: 1.05rem !important;
  color: var(--gold-soft) !important;
}

.styles_navigationLink__Tdjec,
.styles_link__3rlUa,
.styles_tabletAndDesktopOnly__3JwOM {
  color: var(--parchment) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem !important;
}

.styles_navigationLink__Tdjec:hover,
.styles_link__3rlUa:hover {
  color: var(--gold) !important;
}

.styles_verticalDivider__2k9R6 {
  background: rgba(201, 162, 74, 0.4) !important;
}

.styles_toggleMenuButton__2KwrR rect {
  fill: var(--gold-soft) !important;
}

.styles_navigationMenu__1juDh {
  background: var(--aegean-deep) !important;
  color: var(--parchment) !important;
}

.styles_mobileNavigationLink__1O-5M,
.styles_phoneNumber__3GYUq {
  color: var(--gold-soft) !important;
  font-family: "Fraunces", Georgia, serif !important;
}

/* ---------- HERO ---------- */
.styles_header__3rRJf {
  background: var(--aegean-deep) !important;
  padding: 0 !important;
}

.styles_headerContent__3Hpy7 {
  min-height: 78vh !important;
  border-radius: 0;
  overflow: hidden;
}

.styles_imageContainer__1js11 {
  background: var(--aegean-deep) !important;
}

.styles_imageContainer__1js11 img {
  filter: saturate(0.92) contrast(1.05);
  transform: scale(1.04);
}

.styles_headerShopInformation__1rbt2 {
  background: linear-gradient(
    105deg,
    rgba(14, 42, 51, 0.92) 0%,
    rgba(14, 42, 51, 0.62) 48%,
    rgba(14, 42, 51, 0.12) 100%
  ) !important;
  justify-items: start !important;
  text-align: left !important;
  padding: 72px 8% !important;
  grid-gap: 18px !important;
}

.styles_title__1zTdJ {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 500 !important;
  font-style: italic;
  text-transform: none !important;
  text-align: left !important;
  color: var(--foam) !important;
  letter-spacing: -0.02em !important;
  max-width: 14ch;
  line-height: 1.05 !important;
  text-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

.styles_title__1zTdJ::after {
  content: "Norwalk, Connecticut";
  display: block;
  margin-top: 12px;
  font-family: "Nunito", sans-serif;
  font-style: normal;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-soft);
}

.styles_orderArrow__2iz15,
.styles_orderArrow__37mDy {
  display: none !important;
}

.styles_buttonContainer__3AvEm {
  gap: 12px;
}

.styles_button__2fhAl.styles_primary__mUIRH,
.styles_orderButton__1L3YR {
  font-family: "Nunito", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  background: var(--terracotta) !important;
  color: #fff !important;
  padding: 14px 28px !important;
  width: auto !important;
  min-width: 160px;
  box-shadow: 0 10px 24px rgba(196, 92, 42, 0.35);
  border: 0 !important;
}

.styles_button__2fhAl.styles_primary__mUIRH:hover,
.styles_orderButton__1L3YR:hover {
  background: #a84b22 !important;
  color: #fff !important;
}

.styles_buttonContainerWithTwoButtons__2Te-p .styles_orderButton__1L3YR:last-child {
  background: transparent !important;
  color: var(--gold-soft) !important;
  box-shadow: none;
  border: 1.5px solid var(--gold) !important;
}

.styles_buttonContainerWithTwoButtons__2Te-p .styles_orderButton__1L3YR:last-child:hover {
  background: var(--gold) !important;
  color: var(--aegean-deep) !important;
}

.styles_container__1pBIR.styles_large__3aFGs {
  width: 92px !important;
  height: 92px !important;
}

.styles_shape__3w6sq svg path[stroke] {
  stroke: var(--gold) !important;
}

.styles_shape__3w6sq svg path[fill="#FCFCFC"] {
  fill: var(--parchment) !important;
}

/* ---------- MAIN / MENU ---------- */
.styles_mainContent__3LB-3 {
  background: var(--cream) !important;
  margin-top: 0 !important;
  border-radius: 32px 32px 0 0;
  overflow: hidden;
}

.styles_menuContainer__y2595 {
  padding: 36px 20px 60px !important;
  background: var(--cream) !important;
}

.styles_sideBarContainer__38U5S {
  background: var(--aegean) !important;
  color: var(--parchment) !important;
  padding: 36px 24px !important;
}

.styles_title__3vigR,
.styles_categoryTitle__1jE-C,
.styles_header__1yxLt {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 600 !important;
  font-style: italic;
  text-transform: none !important;
  letter-spacing: -0.01em;
  color: var(--aegean-deep) !important;
}

.styles_title__3vigR {
  font-size: 2rem !important;
}

.styles_categoryTitle__1jE-C {
  font-size: 1.65rem !important;
  border-bottom: 2px solid var(--gold);
  display: inline-block;
  padding-bottom: 6px;
  margin-bottom: 8px;
}

.styles_description__2-JdZ {
  color: #5d5648 !important;
  font-size: 0.98rem !important;
}

.styles_headerContainer__3dhyf {
  margin-bottom: 18px;
}

.styles_carouselContainer__yGgp7 {
  gap: 16px;
}

.styles_menuItemCard__HQ7xr {
  background: var(--foam) !important;
  border: 1px solid rgba(26, 68, 84, 0.08) !important;
  border-radius: 22px !important;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(18, 38, 46, 0.08);
  text-align: left;
}

.styles_cardImageContainer__OcbW- {
  border-radius: 0;
  overflow: hidden;
}

.styles_cardImageContainer__OcbW- img,
.styles_productPhoto__1hT_X {
  border-radius: 0 !important;
  height: 180px !important;
  object-fit: cover;
}

.styles_details__2jMu0 {
  padding: 14px 16px 18px;
}

.styles_itemName__3jbQp,
.styles_productName__1_pCm {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 600 !important;
  color: var(--aegean-deep) !important;
  font-size: 1.05rem !important;
}

.styles_itemDescription__2isUh,
.styles_productDescription__2ZEaV {
  color: #6a6356 !important;
}

.styles_itemPrice__3milz,
.styles_productPrice__3Naac {
  color: var(--terracotta) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
}

.styles_categoryContent__2BJDA {
  margin-top: 28px;
}

.styles_productContent___KJkC {
  background: var(--foam) !important;
  border: 1px solid rgba(26, 68, 84, 0.1) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: none !important;
  align-items: center;
}

.styles_productPhoto__2DHpI {
  border-radius: 50% !important;
  width: 84px !important;
  height: 84px !important;
  object-fit: cover;
  border: 3px solid var(--parchment-dark);
}

.styles_bestSeller__L4t0i {
  background: var(--olive) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.styles_scrollButton__EbejT {
  background: var(--aegean) !important;
  border-radius: 50% !important;
  width: 36px;
  height: 36px;
}

.styles_scrollButton__EbejT svg path {
  fill: var(--gold-soft) !important;
}

/* ---------- CART ---------- */
.styles_sideBarContainer__38U5S,
.styles_desktopCartContainer__poirg,
.styles_cartBase__1kMRZ {
  background: var(--aegean-deep) !important;
  color: var(--parchment) !important;
}

.styles_sideBarContainer__38U5S h2,
.styles_sideBarContainer__38U5S h3,
.styles_sideBarContainer__38U5S p,
.styles_sideBarContainer__38U5S span {
  color: var(--parchment) !important;
}

.styles_mobileCartContainer__1hN0f .styles_button__1rwJq {
  background: var(--terracotta) !important;
  border-radius: 18px !important;
}

.styles_buttonQuantity__3BKQ1 {
  background: var(--gold) !important;
  color: var(--aegean-deep) !important;
}

/* ---------- ABOUT ---------- */
.styles_shopStoryContainer__2dwEv {
  background: var(--aegean-deep) !important;
  color: var(--parchment) !important;
  padding-bottom: 56px;
}

.styles_paperRip__2MfPB path {
  fill: var(--aegean-deep) !important;
}

.styles_paperRipContainer__3C0Sr {
  background: var(--cream);
}

.styles_story__1zNVP,
.styles_address__1kk8I,
.styles_hours__3Hr1M,
.styles_phone__2Kksb,
.styles_directions__eteqi,
.styles_link__3JIQ5 {
  color: var(--parchment) !important;
}

.styles_phone__2Kksb,
.styles_directions__eteqi {
  color: var(--gold-soft) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.styles_shopName__1XTmy {
  font-size: 2.1rem !important;
  color: var(--gold-soft) !important;
}

.styles_workingBadgeTextWrapper__gPtZv {
  color: var(--aegean-deep) !important;
  font-weight: 800;
}

.styles_workingBadge__2HWln svg path {
  stroke: var(--gold) !important;
}

/* ---------- FOOTER ---------- */
.styles_contentContainer__3dCq_ {
  background: #0a1c22 !important;
  color: var(--parchment) !important;
  padding-top: 36px;
}

.styles_header__1yxLt {
  color: var(--gold-soft) !important;
}

.styles_addressText__2SNhL,
.styles_phoneText__2pLSm,
.styles_text__2EWMx,
.styles_greyText__MGm7h,
.styles_footerMetaTitle__3E5Q1 {
  color: #cbbfa4 !important;
}

.styles_phoneText__2pLSm {
  color: var(--gold-soft) !important;
}

.styles_divider__1EHrJ {
  border-color: rgba(201, 162, 74, 0.25) !important;
  background: rgba(201, 162, 74, 0.25) !important;
}

.styles_footerTitle__2zOdp,
.styles_footerCopyright__1zG3J {
  color: #cbbfa4 !important;
}

@media (min-width: 834px) {
  .styles_headerContent__3Hpy7 {
    min-height: 86vh !important;
  }

  .styles_menuContainer__y2595 {
    padding: 48px 40px 80px !important;
  }
}

@media (min-width: 1100px) {
  .styles_mainContent__3LB-3 {
    grid-template-columns: minmax(0, 1fr) 400px !important;
  }

  .styles_productContent___KJkC {
    min-height: 132px;
  }
}

@media (max-width: 833px) {
  .styles_headerContent__3Hpy7 {
    min-height: 62vh !important;
  }

  .styles_headerShopInformation__1rbt2 {
    justify-items: center !important;
    text-align: center !important;
    background: linear-gradient(
      180deg,
      rgba(14, 42, 51, 0.2) 0%,
      rgba(14, 42, 51, 0.82) 70%
    ) !important;
    padding: 36px 18px 28px !important;
  }

  .styles_title__1zTdJ {
    text-align: center !important;
    max-width: 11ch;
    font-size: 2.15rem !important;
  }

  .styles_buttonContainer__3AvEm,
  .styles_buttonContainerWithTwoButtons__2Te-p {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: min(320px, 100%);
  }

  .styles_buttonContainerWithTwoButtons__2Te-p .styles_orderButton__1L3YR {
    width: 100% !important;
    min-width: 0 !important;
  }

  .styles_menuContainer__y2595 {
    padding-bottom: 120px !important;
  }

  .styles_mainContent__3LB-3 {
    padding-bottom: 96px !important;
  }
}
