/* Tikkurilan painonnostokerho — recreated faithful replica
   Source: Wayback Machine snapshot 2024-12-30 of www.tikkurilan-painonnosto.fi
   Palette from original theme.css: #1D191A body / #da5802 accent orange
*/

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: #1D191A url('/kuvat/bg.jpg') top center repeat;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #333;
  line-height: 1.5;
}

a { color: #da5802; text-decoration: none; }
a:hover { text-decoration: underline; }

.sivu {
  width: 980px;
  margin: 0 auto;
  background: rgba(255,255,255,0.94) url('/kuvat/tausta_haivepohja.png') top center no-repeat;
  min-height: 100vh;
  box-shadow: 0 0 30px rgba(0,0,0,0.45);
}

/* HEADER */
.ylaosa {
  padding: 15px 20px 0;
  background: transparent;
}

.logo img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 15px;
}

/* NAVIGATION */
nav {
  background: #1D191A;
  border-top: 3px solid #da5802;
  border-bottom: 3px solid #da5802;
}

ul.sf-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

ul.sf-menu li {
  border-right: 1px solid #333;
}

ul.sf-menu li:last-child { border-right: none; }

ul.sf-menu a {
  display: block;
  padding: 12px 14px;
  color: #ffffff;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
  text-decoration: none;
  transition: background .15s;
}

ul.sf-menu a:hover,
ul.sf-menu li.active a {
  background: #da5802;
  color: #fff;
  text-decoration: none;
}

/* BODY LAYOUT */
.sisalto {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 20px;
  padding: 20px;
  background: transparent;
}

/* SIDEBAR */
.sidebar > div {
  background: #ffffff;
  border: 1px solid #CCCCCC;
  border-top: 3px solid #da5802;
  margin-bottom: 18px;
  padding: 14px 14px 14px;
}

.sidebar h3 {
  margin: 0 0 10px;
  font-size: 14px;
  color: #1D191A;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 6px;
}

.sidebar h4 {
  font-size: 13px;
  margin: 6px 0 4px;
  color: #1D191A;
  font-weight: 600;
}

.sidebar p { margin: 0 0 8px; color: #555; }

.sidebar .pvm {
  display: inline-block;
  font-size: 11px;
  color: #da5802;
  font-weight: bold;
  margin-bottom: 2px;
}

.newslift-item {
  padding: 8px 0;
  border-bottom: 1px dashed #e2e2e2;
}

.newslift-item:last-child { border-bottom: none; }

.newslift-item.highlight {
  background: #faf3ec;
  padding: 10px;
  margin: 10px -4px 0;
  border-left: 3px solid #da5802;
}

.sidebar-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-links li { padding: 4px 0; }

.sidebar-links a {
  color: #1D191A;
  font-weight: 600;
}

.sidebar-links a:before {
  content: "»";
  color: #da5802;
  margin-right: 6px;
}

.tiedotteet .muted { color: #999; font-style: italic; }

/* MAIN CONTENT */
.page-content-wrapper {
  background: #ffffff;
  border: 1px solid #CCCCCC;
  border-top: 3px solid #da5802;
  padding: 24px 28px;
  min-height: 400px;
  font-size: 13px;
  line-height: 1.65;
  color: #333;
}

.page-content-wrapper h1 {
  color: #1D191A;
  border-bottom: 2px solid #da5802;
  padding-bottom: 8px;
  margin: 0 0 18px;
  font-size: 22px;
  font-weight: 700;
}

.page-content-wrapper h2 {
  color: #1D191A;
  font-size: 16px;
  margin: 22px 0 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid #ddd;
}

.page-content-wrapper h3 {
  color: #da5802;
  font-size: 14px;
  margin: 16px 0 6px;
}

.page-content-wrapper p { margin: 0 0 12px; }

.page-content-wrapper .lead {
  font-size: 14px;
  color: #1D191A;
  font-weight: 600;
  padding: 10px 14px;
  background: #f8f1e8;
  border-left: 3px solid #da5802;
  margin-bottom: 16px;
}

.page-content-wrapper .muted { color: #999; font-style: italic; }

.highlight-box {
  background: #1D191A;
  color: #fff;
  padding: 18px 20px;
  margin: 18px 0;
  border-left: 5px solid #da5802;
}

.highlight-box h2 {
  color: #fff;
  border: none;
  margin: 0 0 8px;
}

.highlight-box p { color: #ddd; }

.highlight-box .readmore,
.readmore {
  display: inline-block;
  padding: 6px 12px;
  background: #da5802;
  color: #fff !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .5px;
  margin-top: 6px;
}

.readmore:hover { background: #b84702; text-decoration: none; }

/* SPONSORS */
.sponsorit {
  background: #ffffff;
  border-top: 3px solid #da5802;
  padding: 14px 20px;
  margin: 0 20px 20px;
}

.sponsorit h3 {
  margin: 0 0 10px;
  font-size: 13px;
  color: #1D191A;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.sponsor-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sponsor-list li {
  border: 1px solid #e5e5e5;
  padding: 6px 10px;
  font-size: 11px;
  color: #555;
  background: #fafafa;
}

/* FOOTER */
.alaosa {
  background: #1D191A;
  color: #ddd;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 3px solid #da5802;
  font-size: 11px;
}

.alaosa .social a {
  color: #fff;
  background: #333;
  padding: 4px 10px;
  margin-right: 6px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.alaosa .social a:hover { background: #da5802; text-decoration: none; }

.alaosa .copyright { color: #999; }

/* SUBPAGE HELPERS */
.breadcrumb {
  font-size: 11px;
  color: #888;
  margin-bottom: 10px;
}

.breadcrumb a { color: #888; }

.coach {
  padding: 12px 14px;
  border-left: 3px solid #da5802;
  background: #fafafa;
  margin-bottom: 10px;
}

.coach h4 {
  margin: 0 0 4px;
  color: #1D191A;
}

.coach .tel {
  color: #da5802;
  font-weight: 700;
  font-size: 12px;
}

ul.achievements {
  padding-left: 20px;
  margin-top: 6px;
}

ul.achievements li { margin-bottom: 4px; }

/* FILE LISTS (Ohjeet / Lomakkeet) */
table.file-list {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 18px;
  font-size: 13px;
}

table.file-list th {
  text-align: left;
  background: #1D191A;
  color: #fff;
  padding: 8px 10px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 600;
}

table.file-list td {
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}

table.file-list tr:hover td { background: #faf3ec; }

table.file-list .size {
  text-align: right;
  color: #777;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  width: 1%;
}

.file-link {
  font-weight: 600;
  padding-left: 22px;
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 16px 16px;
}

.file-link.doc {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='1' y='1' width='12' height='14' rx='1' fill='%232a5699'/><rect x='2' y='4' width='10' height='1.2' fill='white'/><rect x='2' y='6.5' width='10' height='1.2' fill='white'/><rect x='2' y='9' width='10' height='1.2' fill='white'/><rect x='2' y='11.5' width='7' height='1.2' fill='white'/></svg>");
}

.file-link.xls {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='1' y='1' width='12' height='14' rx='1' fill='%231d6f42'/><text x='7' y='11' text-anchor='middle' font-size='7' font-weight='bold' fill='white' font-family='Arial'>X</text></svg>");
}

/* GALLERY GRID */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.gallery-grid a {
  display: block;
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fafafa;
  transition: transform .15s, box-shadow .15s;
}

.gallery-grid a:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  border-color: #da5802;
}

.gallery-grid img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.gallery-grid.featured {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  margin-bottom: 22px;
}

.gallery-grid.featured img { height: 180px; }

.gallery-section-title {
  color: #1D191A;
  font-size: 15px;
  margin: 24px 0 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 4px;
}

/* Responsive */
@media (max-width: 1000px) {
  .sivu { width: 100%; }
  .sisalto { grid-template-columns: 1fr; }
  ul.sf-menu { flex-direction: column; }
  ul.sf-menu li { border-right: none; border-bottom: 1px solid #333; }
}

/* TPK 2026: quieter surfaces, original charcoal and orange, readable on every screen. */
html, body {background:#1d191a url('/kuvat/bg.jpg') top center repeat;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;color:#34302e;}
.sivu{width:min(1180px,calc(100% - 48px));margin:28px auto;background:#f8f6f2;min-height:calc(100vh - 56px);box-shadow:0 12px 56px #0004;border-radius:8px;overflow:hidden;}
.ylaosa{padding:28px 32px 0;background:#fff;}
.brand{display:block;max-width:900px;}
.brand img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain;object-position:left center;}
.header-note{display:flex;justify-content:space-between;align-items:center;padding:14px 0 20px;font-size:13px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;}
.header-note span{color:#746a64;}.header-note a{color:#b84702;}
.site-nav{margin:0 -32px;border-top:3px solid #da5802;border-bottom:0;background:#1d191a;}
.site-nav ul.sf-menu{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:8px 24px;gap:2px;}
.site-nav ul.sf-menu li{border:0;}.site-nav ul.sf-menu a{font-family:inherit;font-size:13px;text-transform:none;letter-spacing:0;padding:10px 12px;border-radius:4px;}
.site-nav ul.sf-menu li.active a,.site-nav ul.sf-menu a:hover{background:#da5802;}
.sisalto{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:32px;padding:36px 32px;align-items:start;}
.page-content-wrapper{min-width:0;padding:30px 32px;background:white;border:1px solid #e8e0d9;border-top:3px solid #da5802;border-radius:6px;font-size:16px;line-height:1.8;min-height:360px;}
.page-content-wrapper h1{font-size:clamp(27px,3.6vw,42px);line-height:1.18;letter-spacing:-.035em;border:0;margin:0 0 24px;padding:0;}
.page-content-wrapper h2{font-size:23px;line-height:1.35;border:0;margin:30px 0 12px;padding:0;letter-spacing:-.02em;}
.page-content-wrapper h3{font-size:19px;}.page-content-wrapper p{margin:0 0 18px;}
.page-content-wrapper .lead{font-size:18px;font-weight:500;line-height:1.7;padding:16px 20px;background:#faf1e8;border-left:3px solid #da5802;border-radius:0 5px 5px 0;}
.eyebrow{font-size:11px!important;font-weight:750;text-transform:uppercase;letter-spacing:.13em;color:#b84702!important;margin-bottom:12px!important;}
.highlight-box{padding:24px;border-radius:5px;margin:28px 0;border-left-width:4px;}.highlight-box h2{color:white;margin:0 0 10px;font-size:23px;}.archive-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#efab7b!important;font-weight:650;}
.readmore{border-radius:4px;padding:11px 16px;font-size:12px;line-height:1.5;letter-spacing:.02em;}.quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:28px 0 4px;}.text-link{font-weight:650;color:#b84702;}
.sidebar{font-size:14px;}.sidebar>section{background:#fff;border:1px solid #e8e0d9;border-radius:6px;padding:22px;margin-bottom:18px;}.sidebar h2{font-size:17px;line-height:1.3;margin:0 0 14px;color:#1d191a;}.sidebar p{margin:0 0 16px;}.sidebar ul{list-style:none;margin:0;padding:0;}.sidebar li{border-top:1px solid #eee7e0;padding:10px 0;}.sidebar li:last-child{padding-bottom:0;}.sidebar a{color:#b84702;font-weight:600;}.archive-link{display:flex;justify-content:space-between;padding:12px 4px;font-size:13px;}
.sponsorit{margin:0 32px 32px;padding:22px 0 0;background:transparent;border-top:1px solid #dfd7cf;}.sponsorit h3{font-size:11px;color:#746a64;letter-spacing:.12em;margin-bottom:14px;}.sponsor-list{gap:8px;}.sponsor-list li{background:white;border:1px solid #e8e0d9;border-radius:4px;padding:7px 10px;font-size:12px;}
.alaosa{padding:24px 32px;font-size:12px;gap:20px;flex-wrap:wrap;}.alaosa .social a{background:transparent;font-size:11px;padding:4px 0;margin-right:18px;}.alaosa .copyright{color:#c9c2bc;}
.breadcrumb{font-size:12px;color:#82756c;margin-bottom:16px;}.breadcrumb a{color:#a0430b;}.coach{padding:18px 20px;border-radius:0 5px 5px 0;}.coach h4{font-size:17px;}.coach .tel{font-size:15px;color:#a0430b;}
.gallery-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}.gallery-grid a{border-radius:5px;}.gallery-grid.featured{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}.page-content-wrapper img{max-width:100%;height:auto;}.gallery-grid img{height:130px;}.gallery-grid.featured img{height:180px;}table.file-list{font-size:14px;}table.file-list th{font-size:11px;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #da5802;outline-offset:4px;}.skip-link{position:fixed;top:-100px;left:16px;z-index:99999;background:white;color:#1d191a;padding:12px 16px;}.skip-link:focus{top:12px;}
.cms-editing .sivu{margin-top:80px;}.cms-editing .page-content-wrapper{overflow:visible;}.cms-editing .note-editor{font-size:16px;}.cms-editing .sidebar .note-editor{min-width:0;}.cms-editing .sidebar .note-toolbar{white-space:normal;}
@media(max-width:900px){.sivu{width:calc(100% - 24px);margin:12px auto;}.sisalto{grid-template-columns:minmax(0,1fr);padding:24px;gap:24px;}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px;}.sidebar>section{margin:0;}.archive-link{grid-column:1/-1;}.site-nav ul.sf-menu{flex-direction:row;}.sponsorit{margin:0 24px 24px;}}
@media(max-width:560px){.sivu{width:100%;margin:0;border-radius:0;}.ylaosa{padding:20px 18px 0;}.site-nav{margin:0 -18px;}.site-nav ul.sf-menu{padding:8px 10px;gap:0;}.site-nav ul.sf-menu a{font-size:12px;padding:9px 10px;}.header-note{font-size:11px;}.sisalto{padding:20px 16px;}.page-content-wrapper{padding:24px 20px;font-size:15px;}.page-content-wrapper .lead{font-size:16px;padding:14px;}.sidebar{grid-template-columns:1fr;gap:14px;}.sponsorit{margin:0 16px 24px;}.alaosa{padding:24px 20px;}.highlight-box{padding:20px;}.gallery-grid.featured{grid-template-columns:1fr;}}

.more-menu{position:relative;}.more-menu summary{list-style:none;color:white;font-size:13px;font-weight:600;cursor:pointer;padding:10px 14px;border-radius:4px;}.more-menu summary::-webkit-details-marker{display:none;}.more-menu summary:hover,.more-menu details[open] summary{background:#da5802;}.more-menu summary span{margin-left:12px;}.site-nav .more-menu ul{position:absolute;top:100%;right:0;min-width:230px;list-style:none;background:#1d191a;margin:8px 0 0;padding:8px;z-index:100;border-radius:0 0 6px 6px;box-shadow:0 12px 28px #0003;}.site-nav .more-menu ul a{white-space:nowrap;}.login-layout{grid-template-columns:minmax(0,1fr);max-width:720px;margin:auto;}.login-layout input[type=password]{width:100%;max-width:400px;padding:12px;border:1px solid #ccc;border-radius:4px;font:inherit;}.login-layout button{padding:12px 20px;border:0;border-radius:4px;background:#da5802;color:white;font:inherit;cursor:pointer;}

/* Native hierarchical navigation: every child page remains editable in Grav. */
.site-nav .sf-menu>li{position:relative;display:flex;align-items:center;}.site-nav .sf-menu .nav-children{position:absolute;top:100%;left:0;display:none;min-width:240px;margin:0;padding:8px;list-style:none;background:#1d191a;border-radius:0 0 5px 5px;z-index:100;box-shadow:0 10px 25px #0003;}.site-nav li:hover>.nav-children,.site-nav li:focus-within>.nav-children,.site-nav li.submenu-open>.nav-children{display:block;}.site-nav .nav-children li{position:relative;}.site-nav .nav-children .nav-children{left:100%;top:0;}.site-nav .nav-children a{white-space:normal;}.submenu-toggle{background:transparent;border:0;color:#fff;cursor:pointer;padding:10px 10px;font:inherit;}.submenu-toggle:focus-visible{outline:2px solid #da5802;}.page-content-wrapper>p:first-of-type{font-size:17px;}.page-content-wrapper p:has(>a>img){display:flex;gap:12px;flex-wrap:wrap;}.page-content-wrapper p>a:has(>img){display:block;flex:0 1 180px;}.page-content-wrapper p>a>img{width:100%;height:145px;object-fit:cover;border-radius:4px;}.page-content-wrapper p>img{max-width:100%;height:auto;border-radius:4px;}.page-content-wrapper .home-intro{font-size:11px;}@media(max-width:560px){.site-nav .sf-menu>li>a{padding-right:5px;}.site-nav .sf-menu .nav-children{left:0;min-width:220px;}.site-nav .sf-menu>li:nth-last-child(-n+2) .nav-children{left:auto;right:0;}}

.sponsorit ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;}.sponsorit li{background:white;border:1px solid #e8e0d9;border-radius:4px;padding:7px 10px;font-size:12px;}.sponsorit h3{font-size:11px;letter-spacing:.12em;}.alaosa p{margin:0;}.alaosa a{color:white;margin-right:16px;}.sidebar-left .sisalto{grid-template-columns:268px minmax(0,1fr);}.sidebar-left main{grid-column:2;grid-row:1;}.sidebar-left aside{grid-column:1;grid-row:1;}.sidebar-hidden .sisalto{grid-template-columns:minmax(0,1fr);}@media(max-width:900px){.sidebar-left .sisalto{grid-template-columns:1fr;}.sidebar-left main,.sidebar-left aside{grid-column:auto;grid-row:auto;}}

/* News uses the same warm surfaces, charcoal and orange as the rest of TPK. */
.latest-news{margin-top:36px;border-top:1px solid #e8e0d9;padding-top:12px}.news-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.news-heading>a{font-size:13px;font-weight:650}.news-list{display:grid;gap:24px}.news-card{padding:22px 0;border-bottom:1px solid #e8e0d9}.news-card:last-child{border-bottom:0}.news-date{display:block;color:#746a64;font-size:13px;font-weight:550;margin-bottom:8px}.news-card h3{margin:0 0 12px;font-size:22px;line-height:1.35}.news-card h3 a{color:#1d191a}.news-card h3 a:hover{color:#b84702}.news-card p{margin-bottom:12px}.news-readmore{font-size:14px;font-weight:650}.news-card-image{display:block;margin:0 0 16px}.news-card-image img{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:5px}.news-hero{display:block;width:100%;max-height:480px;object-fit:contain;margin:24px 0;border-radius:5px}.news-intro{font-size:18px!important;font-weight:500}.news-archive{border-top:1px solid #e8e0d9;padding-top:22px;margin-top:30px!important;font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:560px){.news-card h3{font-size:20px}.news-card-image img{max-height:220px}}
