/* PVH Cake Planet: sitewide brand stylesheet (Novamira sandbox) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --pvh-bg:#FBF9F4;
  --pvh-surface:#FFFFFF;
  --pvh-ink:#122C36;
  --pvh-accent:#155263;
  --pvh-red:#B91C2B;
  --pvh-cream:#F3ECDD;
  --pvh-r-sm:6px;
  --pvh-r-md:14px;
  --pvh-r-pill:999px;
  --pvh-sp-sm:8px;
  --pvh-sp-md:20px;
  --pvh-sp-lg:48px;
  --pvh-sp-xl:96px;
}

body{
  background-color:var(--pvh-bg);
  color:var(--pvh-ink);
  font-family:'Work Sans',sans-serif;
}

body.page-template-pvh-menu,
body.home{
  background-color:var(--pvh-bg);
}

h1,h2,h3,h4,h5,h6,
.wp-block-heading{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:var(--pvh-ink);
  line-height:1.08;
}

.entry-content, .site-content, main{
  color:var(--pvh-ink);
}

a{ color:var(--pvh-accent); }

/* ---------- Eyebrow / labels ---------- */
.pvh-eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:.8rem;
  letter-spacing:.12em;
  color:var(--pvh-red);
  text-transform:uppercase;
  margin-bottom:.5rem;
}

/* ---------- Hero ---------- */
.pvh-hero{
  align-items:center;
  gap:var(--pvh-sp-lg);
  padding:var(--pvh-sp-lg) 0 var(--pvh-sp-md);
  max-width:1180px;
  margin:0 auto;
  padding-left:var(--pvh-sp-md);
  padding-right:var(--pvh-sp-md);
}
.pvh-hero h1{
  font-size:clamp(2rem,4vw,2.9rem);
  letter-spacing:-0.5px;
}
.pvh-hero p{
  color:rgba(18,44,54,.72);
  max-width:46ch;
}

.pvh-round-logo{ margin:0; flex-shrink:0; }
.pvh-round-logo img{
  width:clamp(190px,24vw,320px);
  height:clamp(190px,24vw,320px);
  object-fit:cover;
  border-radius:50%;
  border:6px solid var(--pvh-surface);
  box-shadow:0 20px 44px rgba(18,44,54,.18);
}

/* ---------- Buttons ---------- */
.pvh-btn-primary a,
.pvh-btn-secondary a{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:.98rem;
  padding:.85rem 1.9rem;
  border-radius:var(--pvh-r-pill);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.pvh-btn-primary a{
  background:var(--pvh-accent);
  color:#fff !important;
  box-shadow:0 10px 24px rgba(21,82,99,.28);
}
.pvh-btn-primary a:hover{ transform:translateY(-2px); background:var(--pvh-ink); }
.pvh-btn-secondary a{
  background:transparent;
  color:var(--pvh-accent) !important;
  border:2px solid var(--pvh-accent);
}
.pvh-btn-secondary a:hover{ background:var(--pvh-accent); color:#fff !important; }

/* ---------- Badges ---------- */
.pvh-badge{
  display:inline-block;
  background:var(--pvh-cream);
  color:var(--pvh-accent);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:.82rem;
  padding:.45rem 1.05rem;
  border-radius:var(--pvh-r-pill);
  margin:.25rem .35rem;
}

/* ---------- Menu preview block (home) ---------- */
.pvh-menu-block{
  max-width:1180px;
  margin:0 auto;
  padding:var(--pvh-sp-lg) var(--pvh-sp-md);
}
.pvh-menu-block > h2{ font-size:clamp(1.6rem,3vw,2.1rem); }
.pvh-menu-item{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem 0;
  border-bottom:1px dashed rgba(21,82,99,.25);
  font-size:1.02rem;
}
.pvh-menu-item:last-child{ border-bottom:none; }
.pvh-menu-item .price{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:var(--pvh-red);
  white-space:nowrap;
}

/* ---------- Section shell helper ---------- */
.pvh-section{
  max-width:1180px;
  margin:0 auto;
  padding:var(--pvh-sp-lg) var(--pvh-sp-md);
}
.pvh-section--cream{
  background:var(--pvh-cream);
  max-width:none;
  padding-left:0;
  padding-right:0;
}
.pvh-section--cream > .pvh-section-inner{
  max-width:1180px;
  margin:0 auto;
  padding:var(--pvh-sp-lg) var(--pvh-sp-md);
}
.pvh-section-head{ margin-bottom:var(--pvh-sp-md); max-width:60ch; }
.pvh-section-head p{ color:rgba(18,44,54,.72); }

/* ---------- Photo gallery ---------- */
.pvh-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:14px;
}
.pvh-gallery-grid figure{
  position:relative;
  margin:0;
  border-radius:var(--pvh-r-md);
  overflow:hidden;
  aspect-ratio:4/3;
  background:var(--pvh-cream);
}
.pvh-gallery-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.pvh-gallery-grid figure:hover img{ transform:scale(1.06); }
.pvh-gallery-grid figcaption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:1.6rem .8rem .6rem;
  background:linear-gradient(to top, rgba(18,44,54,.85), transparent);
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:.92rem;
}

/* ---------- Location & hours ---------- */
.pvh-location{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:var(--pvh-sp-lg);
  align-items:center;
}
.pvh-location h2{ font-size:clamp(1.6rem,3vw,2.1rem); }
.pvh-hours-table{ width:100%; border-collapse:collapse; margin-top:1rem; }
.pvh-hours-table td{
  padding:.4rem 0;
  border-bottom:1px dashed rgba(21,82,99,.2);
  font-size:.98rem;
}
.pvh-hours-table td:last-child{
  text-align:right;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  color:var(--pvh-accent);
}
.pvh-location-card{
  background:var(--pvh-surface);
  border-radius:var(--pvh-r-md);
  padding:1.75rem;
  box-shadow:0 14px 30px rgba(18,44,54,.08);
}
.pvh-location-card address{ font-style:normal; margin-bottom:1rem; line-height:1.6; }
.pvh-location-text{ display:flex; flex-direction:column; gap:1.4rem; }
.pvh-location-card .pvh-btn-primary,
.pvh-location-card .pvh-btn-secondary{ display:inline-block; margin-top:1.2rem; }
.pvh-map-frame{
  border-radius:var(--pvh-r-md);
  overflow:hidden;
  box-shadow:0 14px 30px rgba(18,44,54,.12);
  line-height:0;
}
.pvh-map-frame iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}

@media (max-width:782px){
  .pvh-hero{ flex-direction:column; text-align:center; padding-top:var(--pvh-sp-md); }
  .pvh-hero p{ margin-left:auto; margin-right:auto; }
  .pvh-location{ grid-template-columns:1fr; }
  .pvh-map-frame iframe{ height:260px; }
}
