/*
Theme Name: Tramps Kitchen
Theme URI: https://trampskitchen.com
Author: Tramps Kitchen
Description: Hand made, cast concrete miniatures of real parkour spots. Custom theme for the product catalog and site pages.
Version: 1.2
Requires PHP: 7.4
Text Domain: tramps-kitchen
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;700&family=Inter:wght@400;500&family=Pixelify+Sans:wght@400;600;700&display=swap');

:root {
  --bg: #E8E5DF;
  --surface: #FFFFFF;
  --ink: #1C1B19;
  --accent: #B5652B;
  --muted: #746F66;
  --line: #C9C3B7;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

h1, h2, h3, .headline {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  line-height: 1.05;
  margin: 0 0 0.5em;
  letter-spacing: -0.01em;
}

a { color: inherit; }
img { max-width: 100%; display: block; }

.wrap {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 24px;
}

header.site {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
header.site .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header.site .logo {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 20px;
  text-decoration: none;
}
header.site nav a {
  margin-left: 24px;
  text-decoration: none;
  font-size: 15px;
  color: var(--muted);
}
header.site nav a:hover { color: var(--ink); }
header.site nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
header.site nav ul li { margin-left: 24px; }

.hero {
  padding: 96px 0 72px;
  border-bottom: 1px solid var(--line);
}
.hero h1 {
  font-size: 56px;
  max-width: 15ch;
}
.hero p {
  max-width: 46ch;
  color: var(--muted);
  font-size: 18px;
  margin: 20px 0 32px;
}

.btn {
  display: inline-block;
  background: var(--ink);
  color: var(--bg);
  padding: 14px 28px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  border: 1px solid var(--ink);
  cursor: pointer;
}
.btn:hover { background: var(--accent); border-color: var(--accent); }
.btn.disabled {
  background: transparent;
  color: var(--muted);
  border-color: var(--line);
  pointer-events: none;
}

section { padding: 64px 0; border-bottom: 1px solid var(--line); }
section:last-of-type { border-bottom: none; }
section h2 { font-size: 30px; margin-bottom: 24px; }

.story p { max-width: 62ch; }

.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.steps li { display: grid; grid-template-columns: 32px 1fr; gap: 16px; align-items: start; }
.steps li span.n { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; color: var(--accent); }

.grid, ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  list-style: none;
  margin: 0;
  padding: 0;
}
.card, ul.products li.product {
  background: var(--surface);
  padding: 28px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--ink);
  margin: 0 !important;
}
.card .cat, .products li.product .cat { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.card h3, .products li.product h3 { font-size: 19px; margin-bottom: 8px; }
.card p, .products li.product .short { color: var(--muted); font-size: 14px; flex-grow: 1; margin: 0 0 16px; }
.card .status, .products li.product .status { font-size: 13px; font-weight: 500; }
.card .status.live, .products li.product .status.live { color: var(--accent); }

.faq dt { font-weight: 500; margin-top: 20px; }
.faq dd { margin: 6px 0 0; color: var(--muted); max-width: 60ch; }

footer.site {
  padding: 40px 0;
  color: var(--muted);
  font-size: 14px;
}

.product-hero { padding: 64px 0 40px; border-bottom: 1px solid var(--line); }
.product-hero .cat { color: var(--accent); font-size: 14px; margin-bottom: 8px; }
.product-hero h1 { font-size: 40px; }
.product-body { max-width: 62ch; }
.product-actions { margin-top: 32px; }
.back-link { display: inline-block; margin-bottom: 24px; color: var(--muted); text-decoration: none; font-size: 14px; }

.factbox {
  border: 1px solid var(--line);
  padding: 24px;
  margin-top: 40px;
  max-width: 62ch;
}
.factbox h3 { font-size: 14px; margin-bottom: 16px; }
.factbox dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px 16px; margin: 0; }
.factbox dt { color: var(--muted); font-size: 14px; }
.factbox dd { margin: 0; font-size: 14px; }

@media (max-width: 720px) {
  .hero h1 { font-size: 38px; }
  .grid, ul.products { grid-template-columns: 1fr; }
}

/* --- homepage: claims strip and what we make --- */
.claims { background: var(--surface); }
.claims ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.claims li { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.claims li strong { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.15; }
.claims li span { color: var(--muted); }

.make .lede { font-size: 21px; line-height: 1.35; max-width: 50ch; margin: 0 0 20px; }
.make p { max-width: 62ch; }

.shop-preview div.card { cursor: default; }

@media (max-width: 720px) {
  .claims ul { grid-template-columns: 1fr 1fr; gap: 20px; }
}

/* --- homepage: release banner --- */
.release { background: var(--ink); color: var(--bg); }
.release .release-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.release .tag { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.release .tag.now { color: var(--accent); }
.release .tag.next { color: #8C877E; }
.release h3 { font-size: 46px; line-height: 1.1; margin: 12px 0 10px; }
.release p { color: #B7B2A8; margin: 0 0 18px; max-width: 34ch; font-size: 15px; }
.release .btn { background: var(--bg); color: var(--ink); border-color: var(--bg); }
.release .btn:hover { background: var(--accent); color: var(--bg); border-color: var(--accent); }
.release .soft { font-size: 14px; color: #8C877E; }

@media (max-width: 720px) {
  .release .release-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* --- homepage: imagery --- */
.hero { padding-bottom: 0; }
.hero-media { margin: 48px 0 0; }
.hero-media img { width: 100%; height: clamp(240px, 42vw, 460px); object-fit: cover; display: block; }

.release .release-item { display: flex; flex-direction: column; align-items: flex-start; }
.release-thumb { width: 100%; margin-bottom: 18px; }
.release-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; }

.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.gallery-grid figure { margin: 0; }
.gallery-grid img { width: 100%; height: 260px; object-fit: cover; display: block; }
.gallery .note { margin: 14px 0 0; font-size: 13px; color: var(--muted); }

@media (max-width: 720px) {
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-grid img { height: 180px; }
}

/* --- product card thumbnails --- */
.card-thumb { margin: -28px -28px 20px; }
.card-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; }

/* --- brand display font: logo and hero headline only --- */

header.site .logo,
.hero h1,
.release h3 {
  font-family: MinecraftX, 'Archivo Narrow', sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}

header.site .logo { font-size: 18px; }
.hero h1 { font-size: 84px; line-height: 1.12; max-width: 16ch; }

@media (max-width: 720px) {
  .hero h1 { font-size: 56px; }
}

/* --- dark header bar with logo --- */
header.site {
  background: var(--ink);
  border-bottom: none;
  padding: 14px 0;
}
header.site .logo {
  display: block;
  line-height: 0;
  color: var(--bg);
}
header.site .logo .logo-img {
  width: auto;
  height: 26px;
  display: block;
}
header.site nav ul { align-items: stretch; }
header.site nav ul li { margin-left: 6px; display: flex; }
header.site nav a,
header.site nav ul li a {
  margin-left: 0;
  color: var(--bg);
  padding: 8px 14px;
  border: 1px solid transparent;
  transition: background 0.12s ease, color 0.12s ease;
}
header.site nav a:hover,
header.site nav ul li a:hover,
header.site nav ul li a:focus-visible,
header.site nav ul li.current a,
header.site nav ul li.current-menu-item a,
header.site nav ul li.current_page_item a {
  background: #FFFFFF;
  color: var(--ink);
}

@media (max-width: 560px) {
  header.site .logo .logo-img { height: 20px; }
  header.site nav ul li a { padding: 6px 9px; font-size: 14px; }
}

/* --- header: hover block fills the full bar height --- */
header.site { padding: 0; }
header.site .wrap {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  min-height: 58px;
}
header.site .logo {
  display: flex;
  align-items: center;
  padding: 12px 0;
}
header.site nav { display: flex; }
header.site nav ul {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}
header.site nav ul li {
  display: flex;
  margin-left: 2px;
}
header.site nav ul li a {
  display: flex;
  align-items: center;
  padding: 0 16px;
  margin-left: 0;
  border: 0;
}

@media (max-width: 560px) {
  header.site .wrap { min-height: 48px; }
  header.site nav ul li a { padding: 0 10px; }
}

/* --- header: pinned to the top of the screen --- */
header.site {
  position: sticky;
  top: 0;
  z-index: 100;
}
html { scroll-padding-top: 70px; }
body.admin-bar header.site { top: 32px; }

@media screen and (max-width: 782px) {
  body.admin-bar header.site { top: 46px; }
}
@media (max-width: 560px) {
  html { scroll-padding-top: 58px; }
}

/* --- mobile polish --- */
@media (max-width: 720px) {
  .wrap { padding: 0 18px; }
  section { padding: 44px 0; }
  section h2 { font-size: 24px; }

  .hero { padding-top: 56px; }
  .hero p { font-size: 17px; margin: 16px 0 26px; }
  .hero-media { margin-top: 34px; }
  .hero-media img { height: 230px; }

  .release .release-grid { gap: 32px; }
  .release-thumb img { height: 180px; }
  .release h3 { font-size: 36px; }

  .make .lede { font-size: 18px; }

  .card-thumb { margin: -22px -22px 16px; }
  .card, ul.products li.product { padding: 22px; }

  .btn { padding: 13px 22px; }
  .factbox dl { grid-template-columns: 1fr; gap: 2px 0; }
  .factbox dl dd { margin-bottom: 10px; }
}

@media (max-width: 430px) {
  .claims ul { grid-template-columns: 1fr; gap: 16px; }
  .gallery-grid { gap: 3px; }
  .gallery-grid img { height: 150px; }
  header.site .logo .logo-img { height: 18px; }
  header.site nav ul li a { padding: 0 9px; font-size: 13px; }
  .hero h1 { font-size: 44px; }
  .product-hero h1 { font-size: 28px; }
}

/* --- footer --- */
footer.site {
  background: var(--ink);
  color: #B7B2A8;
  padding: 44px 0 36px;
}
footer.site p { margin: 0 0 8px; }
footer.site .foot-brand {
  font-family: MinecraftX, 'Archivo Narrow', sans-serif;
  color: var(--bg);
  font-size: 18px;
}
footer.site .foot-tag { max-width: none; }
footer.site .foot-links { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 20px; }
footer.site .foot-links a { color: var(--bg); text-decoration: none; border-bottom: 1px solid #4A463F; }
footer.site .foot-links a:hover { color: var(--accent); border-color: var(--accent); }
footer.site .foot-legal { margin-top: 22px; font-size: 13px; color: #746F66; }

/* --- spots archive: intro and map --- */
.archive-intro {
  color: var(--muted);
  font-size: 18px;
  max-width: 44ch;
  margin: 18px 0 0;
}

.spot-map { padding-top: 48px; padding-bottom: 48px; }
#tk-map {
  height: 480px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.spot-map .map-note {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--muted);
}
.leaflet-container { font-family: 'Inter', sans-serif; }
.leaflet-tooltip { font-size: 13px; }

@media (max-width: 720px) {
  .archive-intro { font-size: 16px; }
  .spot-map { padding: 32px 0; }
  #tk-map { height: 340px; }
}

footer.site .foot-brand { line-height: 0; margin-bottom: 14px; }
footer.site .foot-logo { width: auto; height: 22px; display: block; }

/* --- release banner items are links --- */
a.release-item { text-decoration: none; color: inherit; }
a.release-item .go { font-size: 14px; color: var(--accent); border-bottom: 1px solid transparent; }
a.release-item:hover .go { border-bottom-color: var(--accent); }
a.release-item:hover h3 { color: var(--accent); }

/* --- map styling: quiet tiles, brand pins --- */
#tk-map {
  height: 520px;
  border: 1px solid var(--line);
  background: var(--surface);
}
/* Desaturate the base map so the pins carry the colour. */
.leaflet-tile-pane {
  filter: grayscale(1) contrast(1.04) brightness(1.06);
}

.tk-pin { cursor: pointer; }
.tk-pin b {
  display: block;
  width: 20px;
  height: 20px;
  margin: 3px;
  border-radius: 50%;
  background: var(--accent);
  border: 3px solid var(--bg);
  box-shadow: 0 0 0 2px var(--ink), 0 2px 6px rgba(0, 0, 0, 0.35);
  transition: transform 0.12s ease, background 0.12s ease;
}
.tk-pin:hover b {
  background: var(--ink);
  transform: scale(1.25);
}

.leaflet-tooltip.tk-label {
  background: var(--ink);
  color: var(--bg);
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 4px 9px;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.leaflet-tooltip.tk-label::before { border-top-color: var(--ink); }
.tk-pin:hover + .leaflet-tooltip.tk-label { background: var(--accent); }

.leaflet-control-zoom a {
  color: var(--ink);
  border-radius: 0;
}
.leaflet-container { font-family: 'Inter', sans-serif; }

@media (max-width: 720px) {
  #tk-map { height: 380px; }
  .leaflet-tooltip.tk-label { font-size: 12px; padding: 3px 7px; }
}

/* --- keep the map underneath the sticky header --- */
#tk-map {
  position: relative;
  z-index: 0;
  isolation: isolate;
}
header.site { z-index: 1000; }

/* --- moves glossary and firsts --- */
a.move-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted var(--accent);
}
a.move-link:hover { color: var(--accent); border-bottom-style: solid; }

.move-list { margin: 0; }
.move-list dt {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 19px;
  margin-top: 28px;
  scroll-margin-top: 80px;
}
.move-list dt:first-child { margin-top: 0; }
.move-list dd { margin: 6px 0 0; color: var(--muted); max-width: 60ch; }
.move-list dd p { margin: 0 0 8px; }
.move-list dt:target { color: var(--accent); }

.firsts-list { list-style: none; margin: 0; padding: 0; }
.firsts-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.firsts-list li:first-child { border-top: 1px solid var(--line); }
.firsts-list .f-move {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 17px;
  flex: 1 1 200px;
}
.firsts-list .f-who { color: var(--ink); font-size: 15px; }
.firsts-list .f-year { color: var(--muted); font-size: 14px; }
.firsts-list .f-link { color: var(--accent); font-size: 14px; text-decoration: none; border-bottom: 1px solid var(--accent); }
.firsts-note { margin-top: 18px; font-size: 14px; color: var(--muted); }
.firsts-note a { color: var(--accent); }

@media (max-width: 720px) {
  .firsts-list .f-move { flex: 1 1 100%; }
}

/* --- shop grid: li.product is the cell, .card inside it is the card --- */
.grid,
ul.products {
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}
ul.products li.product {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
}
ul.products li.product > .card {
  width: 100%;
  flex: 1 1 auto;
  padding: 28px;
}
ul.products li.product > .card .card-thumb {
  margin: -28px -28px 20px;
}

@media (max-width: 720px) {
  .grid,
  ul.products { grid-template-columns: 1fr; }
  ul.products li.product > .card { padding: 22px; }
  ul.products li.product > .card .card-thumb { margin: -22px -22px 16px; }
}
/* --- hero video loop behind the headline --- */
.hero:has(.hero-top.has-video) { padding-top: 0; border-bottom: none; }
.hero-top { position: relative; }
.hero-top.has-video { overflow: hidden; background: var(--ink); }
.hero-top.has-video .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-top.has-video::after { content: ""; position: absolute; inset: 0; background: rgba(28, 27, 25, 0.5); z-index: 1; }
.hero-top.has-video .wrap { position: relative; z-index: 2; padding-top: 96px; padding-bottom: 96px; }
.hero-top.has-video h1, .hero-top.has-video p { color: #FFFFFF; }
.hero-top.has-video .btn { background: var(--bg); color: var(--ink); border-color: var(--bg); }
.hero-top.has-video .btn:hover { background: var(--accent); color: var(--bg); border-color: var(--accent); }
@media (max-width: 720px) { .hero-top.has-video .wrap { padding-top: 64px; padding-bottom: 64px; } }
@media (prefers-reduced-motion: reduce) { .hero-top.has-video .hero-video { display: none; } }

/* --- no section dividers, alternating section colours --- */
section { border-bottom: none; }
section.claims, section.gallery, section.how, section.faq { background: var(--surface); }
section.make, section.shop-preview, section.story, section.signup { background: var(--bg); }

/* --- release banner price --- */
.release .release-price { font-family: MinecraftX, 'Archivo Narrow', sans-serif; font-size: 32px; color: var(--bg); margin: 0 0 16px; }
@media (max-width: 720px) { .release .release-price { font-size: 26px; } }

/* --- basket: add to basket form + header basket link --- */
.product-actions form.cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0; }
.product-actions .quantity input.qty { width: 72px; height: 100%; min-height: 48px; padding: 0 10px; font: inherit; font-size: 16px; border: 1px solid var(--ink); background: var(--surface); color: var(--ink); text-align: center; }
.product-actions .single_add_to_cart_button { display: inline-block; padding: 14px 26px; font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.02em; background: var(--ink); color: var(--bg); border: 1px solid var(--ink); cursor: pointer; }
.product-actions .single_add_to_cart_button:hover { background: var(--accent); border-color: var(--accent); }
.product-actions .stock { color: var(--muted); font-size: 14px; margin: 0 0 12px; }
header.site .wrap { position: relative; }
header.site .basket-link { color: var(--bg); background: var(--accent); padding: 6px 12px; font-size: 14px; font-weight: 500; text-decoration: none; margin-left: 12px; white-space: nowrap; align-self: center; }
header.site .basket-link:hover { background: var(--bg); color: var(--ink); }
.woocommerce-message, .woocommerce-info { background: var(--surface); border-left: 4px solid var(--accent); padding: 14px 18px; margin: 0 0 20px; list-style: none; }

@font-face{font-family:'MinecraftX';src:url(data:font/woff2;base64,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) format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}

/* --- price on cards, email signup --- */
.card-price { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 18px; margin: 0 0 8px; }
.card-price del { color: var(--muted); font-weight: 400; margin-right: 6px; }
.product-price { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 24px; margin-top: 10px; }

.signup { background: var(--surface); }
.signup p { color: var(--muted); max-width: 46ch; margin: 0 0 22px; }
.signup-form form { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; max-width: 520px; }
.signup-form input[type=email], .signup-form input[type=text] {
  flex: 1 1 240px; padding: 13px 14px; border: 1px solid var(--line);
  background: var(--bg); color: var(--ink); font-family: inherit; font-size: 15px; border-radius: 0;
}
.signup-form input[type=email]:focus { outline: 2px solid var(--accent); outline-offset: -2px; }
.signup-form button, .signup-form input[type=submit] {
  background: var(--ink); color: var(--bg); border: 1px solid var(--ink);
  padding: 13px 24px; font-family: inherit; font-size: 15px; font-weight: 500; cursor: pointer; border-radius: 0;
}
.signup-form button:hover, .signup-form input[type=submit]:hover { background: var(--accent); border-color: var(--accent); }
.signup-form #subscribe-email label, .signup-form .screen-reader-text { position: absolute; left: -9999px; }

@media (max-width: 720px) {
  .signup-form form { flex-direction: column; }
}
