/* Layout for the Eurcake site. Colours and artwork come from the original
   FrontPage "axis" theme; positioning is flow/grid so pages fill the window. */

:root {
  --navy: #00006a;
  --peach: #ffcf9f;
  --cream: #fbf7f4;
  --panel: #ccffcc;
  --maroon: #800000;
  --teal: #006666;
  --gold: #996600;
  --olive: #336600;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  background: var(--cream);
  color: #000;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

a { color: #333; }
a:visited { color: #666; }
a:hover { color: #f00; }

img { max-width: 100%; height: auto; }

.site {
  display: grid;
  grid-template-columns: 197px minmax(0, 1fr);
  min-height: 100vh;
}

/* ---- sidebar ---- */

.side {
  background: linear-gradient(to right,
    #080065 0 9px, var(--peach) 9px 189px, var(--navy) 189px 197px);
  text-align: center;
}

.logo {
  height: 245px;
  background: url(_themes/copy-of-axis/hatter.jpg) 0 0 no-repeat;
}

.side nav { padding-bottom: 6px; }

.btn {
  display: block;
  width: 140px;
  height: 46px;
  margin: 0 auto;
  background: var(--img) center / 140px 46px no-repeat;
}
.btn:hover { background-image: var(--hover); }
.btn[aria-current] { background-image: var(--cur); }
.btn span {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.n-home      { --img: url(_derived/home_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/home_cmp_copy-of-axis110_vbtn_a.gif); }
.n-fondant   { --img: url(_derived/rolled-fondant.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/rolled-fondant.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/rolled-fondant.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-painted   { --img: url(_derived/painted-cakes.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/painted-cakes.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/painted-cakes.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-wedding   { --img: url(_derived/wedding-cakes.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/wedding-cakes.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/wedding-cakes.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-kids      { --img: url(_derived/kids-cakes.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/kids-cakes.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/kids-cakes.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-occasion  { --img: url(_derived/cakes-for-any-occasion.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/cakes-for-any-occasion.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/cakes-for-any-occasion.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-contact   { --img: url(_derived/contact-us.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/contact-us.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/contact-us.htm_cmp_copy-of-axis110_vbtn_p.gif); }
.n-filmek    { --img: url(_derived/filmek.htm_cmp_copy-of-axis110_vbtn.gif);
               --hover: url(_derived/filmek.htm_cmp_copy-of-axis110_vbtn_a.gif);
               --cur: url(_derived/filmek.htm_cmp_copy-of-axis110_vbtn_p.gif); }

/* wedding sub-page buttons */
.n-wedding-3 { --img: url(_derived/wedding-cakes-3.htm_cmp_copy-of-axis110_hbtn.gif);
               --hover: url(_derived/wedding-cakes-3.htm_cmp_copy-of-axis110_hbtn_a.gif);
               --cur: url(_derived/wedding-cakes-3.htm_cmp_copy-of-axis110_hbtn_p.gif); }
.n-wedding-2 { --img: url(_derived/wedding-cakes-2.htm_cmp_copy-of-axis110_hbtn.gif);
               --hover: url(_derived/wedding-cakes-2.htm_cmp_copy-of-axis110_hbtn_a.gif);
               --cur: url(_derived/wedding-cakes-2.htm_cmp_copy-of-axis110_hbtn_p.gif); }
.n-pink      { --img: url(_derived/pink-wedding-cake.htm_cmp_copy-of-axis110_hbtn.gif);
               --hover: url(_derived/pink-wedding-cake.htm_cmp_copy-of-axis110_hbtn_a.gif);
               --cur: url(_derived/pink-wedding-cake.htm_cmp_copy-of-axis110_hbtn_p.gif); }

.ship {
  display: block;
  margin: 8px auto 24px;
  width: 150px;
}
.ship img {
  display: block;
  border: 2px solid #000;
  width: 150px;
}

/* ---- main column ---- */

.main { padding: 0 clamp(12px, 3vw, 40px) 48px; min-width: 0; }

.banner { text-align: center; padding: 36px 0 28px; }
.banner img { width: 432px; }

.subnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 14px;
  margin: 0 0 18px;
}
.subnav .btn { margin: 0; }

.copy { max-width: 62rem; margin: 0 auto; }

.lead {
  font: bold 1.375rem/1.4 Arial, sans-serif;
  color: var(--olive);
  margin: 40px 0;
}
.lead b { color: var(--gold); font-size: 1.15em; }
.body-copy { font: 0.9375rem/1.55 Arial, sans-serif; margin: 0 0 32px; }
.body-copy a { color: #333; }

/* green picture panels (formerly fixed-width tables) */
.panel {
  max-width: 62rem;
  margin: 0 auto;
  background: var(--panel);
  border: 2px solid #666;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}
.panel > * {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 12px;
  text-align: center;
  border: 1px solid #666;
  margin: -0.5px;
}
.panel img { border: 3px solid #000; display: block; }
.panel.wedding img { border-width: 2px; }
.panel h2 { font: bold 0.9375rem Arial, sans-serif; margin: 6px 0 0; }
.panel p { font: 0.875rem/1.4 Arial, sans-serif; margin: 0; max-width: 20rem; }

.strip {
  max-width: 62rem;
  margin: 40px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  padding: 4px;
  border: 2px solid #666;
  background: #fff;
}
.strip a { display: block; }
.strip img { display: block; border: 2px solid #000; }

/* contact */
.contact { text-align: center; font-family: Arial, Helvetica, Verdana, sans-serif; color: var(--teal); }
.contact h2 { margin: 28px 0 8px; font-size: 1.5rem; }
.contact h2:first-child { margin-top: 0; }
.contact p { margin: 0 0 8px; }
.contact .em { color: var(--maroon); font-weight: bold; }
.contact .big { color: var(--maroon); font-size: 1.25rem; }
.contact a { color: var(--maroon); }

.contact + .strip { margin-top: 48px; }

/* ---- narrow screens: sidebar becomes a header ---- */

@media (max-width: 760px) {
  .site { display: block; }
  .side {
    background: var(--peach);
    border-bottom: 8px solid var(--navy);
    padding-bottom: 12px;
  }
  .logo {
    width: 180px;
    height: 220px;
    margin: 0 auto;
    background-position: -9px 0;
  }
  .side nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 8px;
  }
  .ship { display: none; }
  .banner { padding: 20px 0 16px; }
  .banner img { width: min(432px, 100%); }
  .lead { margin: 20px 0; font-size: 1.15rem; }
}

@media (min-width: 761px) {
  .panel.cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
