*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:12px}body{margin:0;background:#e9f6ff;color:#071e4b;font-family:Georgia,"Times New Roman",serif}.site{max-width:1536px;margin:auto;border:3px solid #061b49;background:white;overflow:hidden}.brand img{display:block;width:100%;height:auto}.nav{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-around;gap:4px;margin:0 auto;padding:8px 3%;width:90%;min-height:78px;background:#fff;border-radius:14px;box-shadow:0 4px 14px #082b5220}.nav>a,.nav summary{font-weight:bold;font-size:clamp(.9rem,1.5vw,1.35rem);color:#071e4b;text-decoration:none;padding:12px 15px;border-radius:9px;white-space:nowrap;cursor:pointer}.nav .active,.nav>a:hover{background:#c4e8ff}.nav details{position:relative}.nav summary{list-style:none}.nav summary::-webkit-details-marker{display:none}.dropdown{position:absolute;top:100%;left:0;display:grid;min-width:130px;padding:5px;background:#fff;box-shadow:0 5px 14px #001a3c30;border-radius:8px}.dropdown a{padding:10px;color:#071e4b;text-decoration:none}.nav button{font-size:2rem;border:0;background:transparent;color:#071e4b;cursor:pointer}.cart{font-size:1.1rem!important}.search{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 4%;background:#eef8ff}.search[hidden]{display:none}.search input{flex:1;min-width:160px;padding:10px;border:1px solid #aacce5;border-radius:7px}.search button{padding:9px 14px;background:#062b59;color:white;border:0;border-radius:7px;cursor:pointer}.search span{flex-basis:100%}.hero img{display:block;width:100%;height:auto}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 10px 10px;background:#fff}.product{position:relative;min-width:0}.product img{display:block;width:100%;height:auto;border-radius:12px}.hit-area{position:absolute;left:5%;right:5%;bottom:5%;height:23%;border-radius:32px}.hit-area:focus-visible{outline:4px solid #f4bc1c;outline-offset:2px}.details{padding:42px 6%;background:linear-gradient(#fafdff,#e7f5ff);text-align:center}.details h2,.about h2,.contact h2,.cart-info h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 22px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}.detail-grid article{background:#fff;border:1px solid #c8e2f5;border-radius:12px;padding:22px;box-shadow:0 4px 12px #0b366010}.detail-grid h3{margin-top:0}.detail-grid p,.about p,.contact p,.cart-info p{line-height:1.55}.outline{display:inline-block;padding:9px 15px;border:2px solid #082d5b;border-radius:24px;text-decoration:none;color:#082d5b;font-weight:bold}.outline:hover{background:#082d5b;color:#fff}.notice{max-width:850px;margin:24px auto 0;padding:13px 16px;text-align:left;background:#fff8e8;border-left:4px solid #f3bd23;line-height:1.5}.about,.contact,.cart-info{padding:35px 7%;text-align:center}.about{background:#fff8e9}.contact{background:#e5f5ff}.contact a{color:#082d5b;font-weight:bold}.small{font-size:.85rem;color:#5d6d7e}.footer{background:#031f49;color:white;text-align:center}.footer>img{display:block;width:100%;height:auto}.footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:12px}.footer-links a{color:white;text-decoration:none}.footer p{margin:0;padding:0 0 15px;color:#d9eaff;font-size:.85rem}@media(max-width:760px){.nav{width:98%;min-height:0;flex-wrap:wrap;padding:5px}.nav>a,.nav summary{padding:8px;font-size:.88rem}.products{grid-template-columns:1fr;gap:9px}.product img{width:100%}.detail-grid{grid-template-columns:1fr}.details{padding:30px 5%}.hit-area{bottom:4%;height:24%}}\n.product.found{outline:4px solid #f3bd23;outline-offset:2px;border-radius:12px}\n
/* Clear category buttons restored beneath the three featured product images. */
.category-button{display:block;position:relative;margin:10px auto 6px;width:fit-content;max-width:96%;padding:12px 22px;border:2px solid #d6a82b;border-radius:28px;background:#082b59;color:#fff;text-decoration:none;text-align:center;font-weight:bold;font-size:clamp(.92rem,1.3vw,1.1rem);box-shadow:0 3px 8px #061b4920;transition:background .15s ease,transform .15s ease}.category-button:hover,.category-button:focus-visible{background:#b88912;color:#fff;transform:translateY(-1px);outline:3px solid #c4e8ff;outline-offset:2px}.product{display:flex;flex-direction:column;align-items:stretch}.product img{flex:0 0 auto}.hit-area{z-index:1;bottom:20%;height:23%}.category-button{z-index:2}

/* Strongly enforce the three category button styles across browsers. */
.site .products .product > a.category-button,
.site .products .product > a.category-button:link,
.site .products .product > a.category-button:visited {
  display: block !important;
  position: relative !important;
  z-index: 5 !important;
  width: fit-content !important;
  max-width: 96% !important;
  margin: 10px auto 6px !important;
  padding: 12px 22px !important;
  border: 2px solid #d6a82b !important;
  border-radius: 28px !important;
  background: #082b59 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: center !important;
  font-weight: bold !important;
  font-size: clamp(.92rem, 1.3vw, 1.1rem) !important;
  line-height: 1.3 !important;
  box-shadow: 0 3px 8px #061b4920 !important;
}
.site .products .product > a.category-button:hover,
.site .products .product > a.category-button:focus-visible {
  background: #b88912 !important;
  color: #ffffff !important;
  outline: 3px solid #c4e8ff !important;
  outline-offset: 2px !important;
}

/* Final high-priority category button styling */
.product .category-button, .product a.category-button:link, .product a.category-button:visited { display:flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; position:relative !important; z-index:10 !important; width:max-content !important; max-width:96% !important; margin:12px auto 8px !important; padding:12px 22px !important; border:2px solid #d6a82b !important; border-radius:28px !important; background:#082b59 !important; color:#ffffff !important; text-decoration:none !important; text-decoration-line:none !important; font-family:Georgia, 'Times New Roman', serif !important; font-weight:700 !important; font-size:16px !important; line-height:1.3 !important; box-shadow:0 3px 8px #061b4920 !important; }
.product a.category-button:hover, .product a.category-button:focus-visible { background:#b88912 !important; color:#ffffff !important; text-decoration:none !important; outline:3px solid #c4e8ff !important; outline-offset:2px !important; }
.product .hit-area { z-index:1 !important; }

/* Graphic icons integrated into the clickable shop buttons. */
.category-button{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;white-space:normal}
.category-button .button-icon{display:block;width:23px;height:23px;flex:0 0 23px;fill:none;stroke:#f4c84b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.category-button .button-label{display:inline-block}
@media(max-width:640px){.category-button{gap:7px;padding:10px 12px!important}.category-button .button-icon{width:20px;height:20px;flex-basis:20px}}


/* Alignment refinement: equal product panels and consistent button icon sizing. */
.products {
  align-items: start;
}
.products .product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.products .product > img {
  width: 100%;
  aspect-ratio: 1.72 / 1;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.products .product > .category-button {
  align-self: center;
  min-height: 48px;
  margin: 12px auto 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
.products .category-button .button-icon {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  transform: none;
}
/* The puzzle SVG fills more of its drawing area, so scale it slightly
   to match the apparent size of the book and shirt graphics. */
.products .puzzle .category-button .button-icon {
  transform: scale(.88);
  transform-origin: center;
}
@media (max-width: 760px) {
  .products .product > img {
    aspect-ratio: 1.72 / 1;
  }
  .products .product > .category-button {
    min-height: 44px;
  }
}
