html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}


/* Popup menu that appears under the hamburger */
#myLinks {
    display: none; /* hidden by default */
    position: fixed;
    top: 60px;       /* below the header */
    right: 8px;      /* align with hamburger */
    min-width: 200px;
    background: cornflowerblue;
    border-radius: 6px;
    box-shadow: 0 8px 20px darkblue;
    z-index: 1400;
  padding: 0.25rem 0;
  grid-auto-rows: auto;
}

#myLinks.show {
    display: grid; /* show as grid when open */
}

.topnav #myLinks a {
    background-color: cornflowerblue;
    display: block;
    color: darkgreen;
    padding: 10px 16px;
    text-decoration: none;
    font-size: 15px;
}

.topnav #myLinks a:hover {
    background: blue;
}

/* On very small screens keep the same behavior */
@media (max-width: 420px) {
    #myLinks { right: 4px; min-width: 160px; }
    .topnav a.icon { padding: 8px 10px; }
}

/* ensure main content clears the fixed header */
.two-col.with-fixed-aside, .two-col {
  padding-top: 80px; /* leaves room for the fixed header */
  display: grid;
  grid-template-columns: 1fr;
}

/* Add a grey background color on mouse-over */
.topnav a:hover {
  background-color: darkgreen;
  color: yellow;
}

/* Style the active link (or home/logo) */
.active {
  background-color: cornflowerblue;
  color: darkgreen;
  font-size: 50px;
}

.hey{
   font-size: 38px;
   font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
   text-align: center;
}
body{
  background-color: salmon;
}

.line{
  line-height: 10%;
}


hr{
  color: yellow;
  height: 8px;
}

/* Style the button that is used to open and close the collapsible content */
.collapsible {
  background-color: dodgerblue;
  color: darkgreen;
  display: grid;
  grid-auto-flow: column;
  justify-content: start; /* align left */
  align-items: center; /* Centers vertically */
  margin: 0 auto;
  padding: 5px 18px;
  width: 100%;
}

/* Style the collapsible content. Note: hidden by default */
.content {
  padding: 0 18px;
  display: none;
  overflow: hidden;
  background-color: yellow;
  color: darkgreen;
}

header{
    font-size: x-large;
    position: fixed;
    display: block;
    background-color: yellow;
    color: darkgreen;
    width: 75%;
    text-align: center;
    border-bottom-right-radius: 5px;
}

/* Shopping page: hero and product card styles */
.hero-shop{
  margin-top: 80px; /* clear fixed header */
  padding: 2rem 1rem;
  background: linear-gradient(180deg, rgba(100,149,237,0.06), rgba(0,0,0,0));
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 1rem;
  align-items: center;
}
.hero-shop .hero-inner { color: darkgreen; }
.hero-shop .hero-title{ font-size: 1.8rem; margin-bottom: 0.3rem; }
.hero-shop .hero-sub{ color: darkgreen; margin-bottom: 0.6rem; }

.products-grid.enhanced-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.5rem 0;
}
.product{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.04);
  padding: 0.9rem;
  border-radius: 10px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.5rem;
  align-items: center;
  color: darkgreen;
  min-height: 100px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.product:hover{ transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,0.45); }
.product::before{
  /* previously used for initials; hide now that we use real image thumbnails */
  display: none;
}
.product-thumb{
  width: 100%;
  height: 110px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(255,255,255,0.04);
}
.product .product-title{ font-weight: 700; color: darkgreen; }
.product .product-price{ color: #dfefff; font-weight: 700; }
.product .add-to-cart{ background: cornflowerblue; color: darkgreen; border: none; padding: 8px 10px; border-radius: 8px; cursor: pointer; justify-self: end; }
.product .add-to-cart:active{ transform: translateY(1px); }

/* small screens stack hero and shrink grid */
@media (max-width: 900px){
  .hero-shop{ grid-template-columns: 1fr; }
  .product::before{ display: none; }
  .products-grid.enhanced-grid{ grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); }
}

/* header styles for shopping page */
.shop-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 75%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 10px 14px;
  background: linear-gradient(90deg, cornflowerblue, #4676d9);
  color: darkgreen;
  border-bottom-right-radius: 6px;
  z-index: 1200;
}
.shop-header .brand{ display:flex; align-items:center; gap:0.8rem; }
.shop-header .logo{ width:48px; height:48px; border-radius:8px; background: darkgreen; color: cornflowerblue; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:22px; }
.shop-header .brand-title{ font-size:1.2rem; font-weight:800; }
.shop-header .brand-sub{ font-size:0.85rem; color: darkgreen; }
.shop-header .header-info{ text-align:right; font-size:0.95rem; }
.shop-header .header-info .sizes span{ margin-left:6px; font-weight:700; }
.shop-header .header-info .prices{ margin-top:4px; color: darkgreen; }

/* spacer to keep content below fixed header */
.header-spacer{ height:74px; }

@media (max-width:900px){
  .shop-header{ position: static; width: 100%; border-radius: 0; }
  .header-spacer{ display:none; }
}

/* cart badge in header */
.cart-badge{ position: absolute; right: 12px; top: 50%; transform: translateY(-50%); text-decoration: none; color: darkgreen; font-size: 20px; display: inline-flex; align-items: center; }
.cart-badge-count{ position: absolute; right: -6px; top: -6px; background: blue; color: yellow; border-radius: 999px; padding: 0 6px; font-weight: 700; display: none; font-size: 12px; line-height: 20px; }
header{ position: fixed; }

/* place cart badge inside new shop header */
.shop-header .cart-badge{ position: static; margin-left: 12px; }
.shop-header { position: fixed; }

*{
    color: darkgreen;
}
footer{
    display: block;
    background-color: yellow;
    bottom: 0;
    color: darkgreen;
    padding: 10px;
    text-align: center;
}


.topnav{
    display: block;
    float: right;
    right: 0px;
    background-color: yellow;
    color: blue;
}