/* Brand colours and gold wordmark from the GeoffTrader source checkout. */
.gt-header, .gt-storefront, .gt-footer {
  --gt-gold: #a3935e;
  --gt-dark: #303030;
  --gt-red: #e00830;
  color: var(--gt-dark);
  font-family: "PT Sans", "Segoe UI", Arial, sans-serif;
}
.gt-header, .gt-footer {
  max-width: 1120px;
  width: calc(100% - 40px);
  margin-inline: auto;
  padding-block: 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.gt-header { border-bottom: 1px solid #e5e5e5; }
.gt-logo { display: block; width: min(240px, 45vw); height: auto; }
.gt-header a, .gt-footer a { color: #555; }
.gt-storefront { background: white; }
.gt-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
  max-width: 1120px;
  margin: auto;
  padding: 48px 24px;
}
.gt-gallery { min-width: 0; margin: 0; }
.gt-gallery-images { position: relative; padding: 0 24px 24px 0; }
.gt-gallery img { display: block; width: 100%; height: auto; }
.gt-gallery .gt-main-image { border-radius: 8px; }
.gt-gallery .gt-second-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 38%;
  border: 5px solid white;
  border-radius: 8px;
  box-shadow: 0 4px 18px #0002;
}
.gt-gallery figcaption { margin-top: 12px; font-size: .85rem; color: #555; }
.gt-kicker {
  color: #756740;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.gt-hero h1 {
  font-family: inherit;
  max-width: 850px;
  margin: 20px auto;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.gt-intro { max-width: 620px; margin: 24px auto; font-size: 1.2rem; }
.gt-price { font-size: 2rem; font-weight: 800; }
.gt-price span { font-size: 1rem; font-weight: 400; }
.gt-button, .gt-shop .btn-primary {
  display: inline-block;
  background: var(--gt-red);
  border: 1px solid var(--gt-red);
  border-radius: 4px;
  padding: 14px 24px;
  color: white;
  font-weight: 700;
  text-decoration: none;
}
.gt-button:hover, .gt-shop .btn-primary:hover {
  background: #b00628;
  border-color: #b00628;
  color: white;
}
.gt-storefront a:focus-visible, .gt-storefront input:focus-visible,
.gt-storefront button:focus-visible, .gt-storefront select:focus-visible,
.gt-storefront textarea:focus-visible {
  outline: 3px solid var(--gt-dark);
  outline-offset: 4px;
}
.gt-checkout-note { margin-top: 16px; color: #666; font-size: .9rem; }
.gt-shop { max-width: 960px; margin: 0 auto; padding: 0 20px 48px; }
.gt-shop .order-card {
  background: #faf8f1;
  border: 1px solid #e5dfce;
  border-radius: 8px;
  box-shadow: none;
}
.gt-shop .card { background: white; border-color: #ddd6c2; }
.gt-shop input[type="radio"] { accent-color: var(--gt-red); }
.gt-shop .errorlist { color: #a80022; }
.gt-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  max-width: 1040px;
  margin: auto;
  padding: 24px 24px 64px;
}
.gt-details h2 { font-size: 1.2rem; font-weight: 700; }
.gt-details p { color: #5d5d5d; }
.gt-coming-soon {
  background: #faf8f1;
  padding: 48px 24px;
  text-align: center;
}
.gt-coming-soon h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.gt-footer { border-top: 1px solid #e5e5e5; font-size: .9rem; }
.gt-footer p { margin: 0; }
.gt-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
@media (max-width: 800px) {
  .gt-hero { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
  .gt-gallery { max-width: 520px; width: 100%; margin-inline: auto; }
}
@media (max-width: 640px) {
  .gt-header, .gt-footer { flex-direction: column; align-items: flex-start; }
  .gt-details { grid-template-columns: 1fr; gap: 16px; }
  .gt-shop .btn-primary { width: 100%; }
}
