/* Tech Peterborough — shared runtime CSS (resets, links, hovers, placeholders) */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;background:#0E0F0D;color:#F2F1EA;}
a{color:inherit;text-decoration:none;}
::selection{background:#C8FF3D;color:#0E0F0D;}
img{max-width:100%;display:block;}
input,button{font-family:inherit;}

/* image placeholders (drop real images here) */
.tp-imgph{width:100%;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;background:#1b1d18;color:#6E7066;font-family:'Hanken Grotesk';font-size:13px;letter-spacing:.02em;}
.tp-imgph span{opacity:.85;}

/* hover microinteractions (recreated from the design's style-hover) */
[style*="transition:transform"]:hover{transform:translateY(-2px);}
[style*="transition:border-color"]:hover{border-color:rgba(200,255,61,.5) !important;}
[style*="transition:padding-left"]:hover{padding-left:20px !important;}
[style*="transition:color"]:hover{color:#C8FF3D !important;}
header nav a:hover,footer nav a:hover{color:#C8FF3D;}

/* marquee */
@keyframes tpMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* responsive */
@media(max-width:1100px){
  header{padding:16px 24px !important;flex-wrap:wrap;gap:12px;}
  header nav{gap:18px !important;font-size:14px !important;}
  section{padding-left:24px !important;padding-right:24px !important;}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  .tp-hero,.tp-story,.tp-featured,.tp-sphero,.tp-eventhero,.tp-mapgrid,.tp-2col,.tp-2col-media{grid-template-columns:1fr !important;}
  .tp-teamgrid,.tp-teamgrid4,.tp-cardgrid,.tp-spkgrid{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:640px){
  .tp-teamgrid,.tp-teamgrid4,.tp-cardgrid,.tp-spkgrid{grid-template-columns:1fr !important;}
}

/* site shell wrapper (replaces the design's max-width container) */
.tp-shell{max-width:1440px;margin:0 auto;background:#0E0F0D;}
.wp-block-group.tp-shell{max-width:1440px;margin-left:auto;margin-right:auto;}

/* ---- editable core Image block frames ---- */
.wp-block-image.tp-fr{margin:0;overflow:hidden;background:#1b1d18;line-height:0;}
.wp-block-image.tp-fr img{display:block;width:100%;height:100%;object-fit:cover;}
.tp-h150{height:150px;}.tp-h170{height:170px;}.tp-h180{height:180px;}.tp-h190{height:190px;}
.tp-h260{height:260px;}.tp-h360{height:360px;}.tp-h400{height:400px;}.tp-h420{height:420px;}
.tp-h440{height:440px;}.tp-h460{height:460px;}.tp-h520{height:520px;}
.tp-r12{border-radius:12px;}.tp-r14{border-radius:14px;}.tp-r16{border-radius:16px;}
.tp-r18{border-radius:18px;}.tp-r20{border-radius:20px;}
.tp-bd{border:1px solid rgba(242,241,234,0.12);}
.tp-av{border-radius:50%;overflow:hidden;background:#1b1d18;}
.tp-av img{width:100%;height:100%;object-fit:cover;}

/* ---- block-based section grids (replace the design's inline grids) ---- */
.wp-block-group.tp-hero{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;padding:96px 64px 84px;}
.tp-hero-media{position:relative;}
.wp-block-group.tp-story{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:start;padding:88px 64px;background:#0A0B09;}
.wp-block-group.tp-teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.wp-block-group.tp-teamgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.wp-block-group.tp-teamcard{background:#151713;border-radius:16px;padding:22px;gap:0;}
.wp-block-group.tp-teamcard .wp-block-image{margin-bottom:16px;}
.wp-block-group.tp-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch;}
.wp-block-group.tp-2col-media{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:stretch;}
.wp-block-group.tp-cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.wp-block-group.tp-cell{gap:0;}
.wp-block-group.tp-cell>*{margin:0;}
/* neutralise WP default block spacing where we drive layout via grid */
.tp-hero>*,.tp-story>*,.tp-teamgrid>*,.tp-teamgrid4>*,.tp-2col>*,.tp-2col-media>*,.tp-cardgrid>*{margin-block:0;}

/* ---- card & featured layouts (block-based) ---- */
.wp-block-group.tp-card{background:#151713;border:1px solid rgba(242,241,234,0.09);border-radius:18px;overflow:hidden;transition:border-color .15s;gap:0;}
.wp-block-group.tp-card:hover{border-color:rgba(200,255,61,0.5);}
.wp-block-group.tp-card>.wp-block-image{margin:0;}
.tp-card-body{padding:24px 26px 28px;}
.tp-card-body.tp-pad-lg{padding:22px 24px 26px;}

.wp-block-group.tp-featured{display:grid;grid-template-columns:1.1fr 0.9fr;gap:0;align-items:stretch;background:#151713;border:1px solid rgba(242,241,234,0.09);border-radius:20px;overflow:hidden;transition:border-color .15s;}
.wp-block-group.tp-featured.tp-5050{grid-template-columns:1fr 1fr;}
.wp-block-group.tp-featured:hover{border-color:rgba(200,255,61,0.5);}
.wp-block-group.tp-featured>*{margin:0;}
.wp-block-image.tp-hfill{height:100%;min-height:360px;border-radius:0;}
.wp-block-image.tp-hfill img{height:100%;}

/* ---- sponsorships / event heroes ---- */
.wp-block-group.tp-sphero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;padding:96px 64px 72px;}
.wp-block-group.tp-eventhero{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}

/* ---- event speakers + map ---- */
.wp-block-group.tp-spkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.wp-block-group.tp-spk{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;background:#151713;border:1px solid rgba(242,241,234,0.09);border-radius:18px;padding:24px 26px;}
.wp-block-group.tp-spk>*{margin:0;}
.wp-block-image.tp-av72{width:72px;height:72px;flex:0 0 auto;}
.wp-block-group.tp-mapgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:stretch;}
.wp-block-group.tp-mapgrid>*{margin:0;}
.wp-block-image.tp-mapfill{height:100%;min-height:260px;}
.wp-block-image.tp-mapfill img{height:100%;}

/* ---- article detail avatars ---- */
.wp-block-image.tp-av44{width:44px;height:44px;flex:0 0 auto;}
.wp-block-image.tp-av60{width:60px;height:60px;flex:0 0 auto;}

/* ---- article cover + event hero spacing ---- */
.wp-block-group.tp-cover-wrap{max-width:1120px;margin:0 auto;padding:0 32px 56px;}
.wp-block-group.tp-eventhero{margin-top:32px;}
.wp-block-image.tp-av72 img{border-radius:14px;}

/* ---- dynamic Query Loop: event rows ---- */
.wp-block-group.tp-eventrow-dyn{display:grid;grid-template-columns:120px 1fr 130px auto;gap:28px;align-items:center;padding:26px 8px;border-top:1px solid rgba(242,241,234,0.10);transition:padding-left .15s;}
.wp-block-group.tp-eventrow-dyn:hover{padding-left:20px;}
.wp-block-group.tp-eventrow-dyn>*{margin:0;}
.wp-block-post-date.tp-day{font-family:'Bricolage Grotesque';font-weight:800;font-size:34px;line-height:1;color:#C8FF3D;margin:0;}
.wp-block-post-date.tp-day a{color:#C8FF3D;}
.wp-block-post-date.tp-mon{font-size:13px;color:#8A8C82;text-transform:uppercase;letter-spacing:0.08em;margin:4px 0 0;}
.wp-block-post-date.tp-mon a{color:#8A8C82;}
.tp-titlecell .wp-block-post-title{font-family:'Bricolage Grotesque';font-weight:700;font-size:22px;line-height:1.2;margin:0;}
.tp-titlecell .wp-block-post-title a{color:#F2F1EA;}
.tp-titlecell .wp-block-post-excerpt{font-size:15px;color:#A9AA9F;margin:5px 0 0;}
.tp-titlecell .wp-block-post-excerpt p{margin:0;}
.tp-titlecell .wp-block-post-excerpt__more-text{display:none;}
.wp-block-post-terms.tp-kind{font-size:14px;color:#8A8C82;margin:0;}
.wp-block-post-terms.tp-kind a{color:#8A8C82;}
a.wp-block-read-more.tp-rsvp{border:1px solid rgba(242,241,234,0.25);border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:#F2F1EA;text-decoration:none;justify-self:end;}
a.wp-block-read-more.tp-rsvp:hover{border-color:rgba(200,255,61,0.5);}

/* ---- dynamic Query Loop: article cards ---- */
.wp-block-group.tp-card .wp-block-post-featured-image{margin:0;}
.wp-block-group.tp-card .wp-block-post-featured-image img{width:100%;height:190px;object-fit:cover;display:block;}
.wp-block-group.tp-card .wp-block-post-featured-image.tp-h170 img{height:170px;}
.tp-card-body .wp-block-post-terms.tp-cat{font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#C8FF3D;margin:0 0 12px;}
.tp-card-body .wp-block-post-terms.tp-cat a{color:#C8FF3D;}
.tp-card-body .wp-block-post-title{font-family:'Bricolage Grotesque';font-weight:700;font-size:21px;line-height:1.15;margin:0 0 10px;}
.tp-card-body .wp-block-post-title a{color:#F2F1EA;}
.tp-card-meta{font-size:14px;color:#8A8C82;}
.tp-card-meta .wp-block-post-author__name{font-weight:400;}
.tp-emptyimg{background:#1b1d18;}

/* dynamic featured image placeholder when a post has no thumbnail */
.wp-block-post-featured-image.tp-fr{background:#1b1d18;}
