/*
Theme Name: Kalle Laanet
Theme URI: https://kallelaanet.ee/
Author: Kalle Laanet
Description: Lihtne, kiire ja tekstikeskne teema kallelaanet.ee jaoks.
Version: 0.25.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: kallelaanet
*/

:root{
  --kl-bg:#ffffff;
  --kl-warm:#f5f1e8;
  --kl-text:#151515;
  --kl-muted:#6c6963;
  --kl-line:#dedbd3;
  --kl-link:#505d57;
  --kl-content:720px;
  --kl-wide:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--kl-bg);
  color:var(--kl-text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  line-height:1.58;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--kl-link);text-underline-offset:.16em}
a:hover{color:var(--kl-text)}
img{max-width:100%;height:auto}

.kl-header{
  background:var(--kl-warm);
  border-bottom:1px solid rgba(0,0,0,.04);
}
.kl-header-inner{
  width:min(calc(100% - 48px),var(--kl-content));
  margin:0 auto;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:42px;
  align-items:center;
  padding:20px 0;
}
.kl-header-photo{
  width:190px;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:18px;
  background:#e7e3dc;
}
.kl-header-photo img{width:100%;height:100%;object-fit:cover;display:block}
.kl-header-photo.kl-no-photo{display:flex;align-items:center;justify-content:center;color:var(--kl-muted);font-size:14px;text-align:center;padding:16px}
.kl-identity{min-width:0}
.kl-site-title{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(34px,4vw,50px);
  line-height:1.02;
  font-weight:200;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.kl-site-title a{color:var(--kl-text);text-decoration:none}
.kl-tagline{margin-top:14px;font-size:21px;line-height:1.25}
.kl-header-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}
.kl-social,.kl-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.kl-nav-menu{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.kl-nav-menu li{margin:0;padding:0}
.kl-nav-menu a{color:var(--kl-text);text-decoration:none;font-size:16px}
.kl-nav-menu a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.kl-social a,.kl-search summary{color:var(--kl-muted);text-decoration:none;line-height:1;cursor:pointer}
.kl-social a:hover,.kl-search summary:hover{color:var(--kl-text)}
.kl-social svg{width:20px;height:20px;display:block;fill:currentColor}
.kl-nav a{color:var(--kl-text);text-decoration:none;font-size:16px}
.kl-search{position:relative}
.kl-search summary{list-style:none;font-size:19px}
.kl-search summary::-webkit-details-marker{display:none}
.kl-search[open] form{
  position:absolute;right:0;top:32px;z-index:20;
  display:flex;width:min(360px,80vw);padding:10px;
  background:#fff;border:1px solid var(--kl-line);
  box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.kl-search input[type="search"]{flex:1;min-width:0;border:0;outline:0;padding:8px 10px;font:inherit;font-size:16px}
.kl-search input[type="submit"]{border:0;background:var(--kl-text);color:#fff;padding:8px 12px;cursor:pointer}

.kl-main{padding:48px 0 76px}
.kl-home,.kl-content{width:min(calc(100% - 48px),var(--kl-content));margin:0 auto}
.kl-post-card{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--kl-line)}
.kl-post-card:last-child{border-bottom:0}
.kl-post-card h2{margin:0 0 12px;font-size:31px;line-height:1.13;font-weight:200;letter-spacing:-.025em}
.kl-post-card:first-child h2{font-size:clamp(37px,5vw,47px)}
.kl-post-card h2 a{color:var(--kl-text);text-decoration:none}
.kl-post-card h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.kl-excerpt{margin:0}
.kl-excerpt p{margin:0}

.kl-article-title,.kl-page-title,.kl-search-title{
  margin:0 0 32px;
  font-size:clamp(38px,6vw,58px);
  line-height:1.04;
  font-weight:200;
  letter-spacing:-.035em;
}

.kl-article-featured{
  float:left;
  width:min(320px,100%);
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:8px;
  margin:0 10px 8px 0;
  background:#eeeae2;
}
.kl-article-featured img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kl-article-content::after{content:"";display:block;clear:both}
.kl-article-content>*:first-child,.kl-page-content>*:first-child{margin-top:0}
.kl-article-content p,.kl-page-content p{margin:0 0 1.15em}
.kl-article-content h2,.kl-page-content h2{margin:1.6em 0 .55em;font-size:32px;line-height:1.15;font-weight:300}
.kl-article-content h3,.kl-page-content h3{margin:1.5em 0 .5em;font-size:26px;line-height:1.2;font-weight:300}
.kl-article-content blockquote,.kl-page-content blockquote{margin:1.5em 0;padding-left:22px;border-left:3px solid var(--kl-line)}
.kl-article-content figure,.kl-page-content figure{margin:2em 0}
.kl-article-content img,.kl-page-content img{border-radius:6px}
.kl-empty{color:var(--kl-muted)}

.kl-share{
  margin-top:18px;
  display:flex;
  align-items:center;
}
.kl-share a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--kl-muted);
  text-decoration:none;
  line-height:1;
}
.kl-share a:hover{color:var(--kl-text)}
.kl-share svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.kl-article-content + .kl-share{margin-top:30px}


.kl-archive-list{margin:0;padding:0;list-style:none}
.kl-archive-item{padding:18px 0;border-bottom:1px solid var(--kl-line)}
.kl-archive-item:first-child{padding-top:0}
.kl-archive-item:last-child{border-bottom:0}
.kl-archive-item a{
  color:var(--kl-text);
  text-decoration:none;
  font-size:28px;
  line-height:1.18;
  font-weight:200;
  letter-spacing:-.02em;
}
.kl-archive-item a:hover{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.12em;
}

.kl-pagination{margin-top:42px;padding-top:22px;border-top:1px solid var(--kl-line);font-size:16px}
.kl-pagination .nav-links{display:flex;gap:14px;flex-wrap:wrap}

.kl-footer{
  width:min(calc(100% - 48px),var(--kl-content));
  margin:0 auto;
  padding:28px 0 40px;
  border-top:1px solid var(--kl-line);
  color:var(--kl-muted);
  font-size:14px;
}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:720px){
  body{font-size:18px;line-height:1.58}
  .kl-header-inner{width:min(calc(100% - 40px),var(--kl-content));grid-template-columns:118px minmax(0,1fr);gap:22px;padding:16px 0}
  .kl-header-photo{width:118px;border-radius:14px}
  .kl-site-title{font-size:30px}
  .kl-tagline{margin-top:8px;font-size:18px}
  .kl-header-tools{margin-top:12px;align-items:flex-start}
  .kl-social{gap:13px}
  .kl-nav{gap:12px}
  .kl-nav a{font-size:14px}
  .kl-main{padding:36px 0 60px}
  .kl-home,.kl-content{width:min(calc(100% - 40px),var(--kl-content))}
  .kl-post-card{padding-bottom:24px;margin-bottom:24px}
  .kl-post-card h2,.kl-post-card:first-child h2{font-size:29px;line-height:1.12}
  .kl-article-title,.kl-page-title,.kl-search-title{font-size:39px}
}

@media (max-width:520px){
  .kl-header-inner{grid-template-columns:92px minmax(0,1fr);gap:16px}
  .kl-header-photo{width:92px;border-radius:12px}
  .kl-site-title{font-size:25px}
  .kl-tagline{font-size:16px}
  .kl-header-tools{display:block}
  .kl-nav{margin-top:12px}
}

@media (max-width:760px){
  .kl-article-featured{
    float:none;
    width:min(320px,100%);
    margin:0 0 14px;
  }
}

.kl-media-list{
  margin:0;
  padding:0;
  list-style:none;
}
.kl-media-item{
  padding:20px 0;
  border-bottom:1px solid var(--kl-line);
}
.kl-media-item:first-child{padding-top:0}
.kl-media-item:last-child{border-bottom:0}
.kl-media-title{
  margin:0 0 5px;
  font-size:28px;
  line-height:1.18;
  font-weight:200;
  letter-spacing:-.02em;
}
.kl-media-title a{
  color:var(--kl-text);
  text-decoration:none;
}
.kl-media-title a:hover{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.12em;
}
.kl-media-meta{
  margin:0;
  color:var(--kl-muted);
  font-size:16px;
  line-height:1.4;
}

/* Ühtne õhuke tüpograafia */
.kl-site-title,
.kl-tagline,
.kl-nav-menu a,
.kl-nav a,
.kl-post-card h1,
.kl-post-card h2,
.kl-article-title,
.kl-page-title,
.kl-search-title,
.kl-article-content h1,
.kl-article-content h2,
.kl-article-content h3,
.kl-article-content h4,
.kl-article-content h5,
.kl-article-content h6,
.kl-page-content h1,
.kl-page-content h2,
.kl-page-content h3,
.kl-page-content h4,
.kl-page-content h5,
.kl-page-content h6,
.kl-archive-item a,
.kl-media-title {
  font-weight:200 !important;
}

/* Tunnuspilt postituse tekstis vasakul */
.kl-article-content figure.kl-article-featured{
  float:left;
  width:320px;
  max-width:100%;
  aspect-ratio:4/3;
  margin:0 10px 8px 0;
  overflow:hidden;
  border-radius:8px;
  background:#eeeae2;
}
.kl-article-content figure.kl-article-featured img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  margin:0;
}
@media (max-width:760px){
  .kl-article-content figure.kl-article-featured{
    float:none;
    width:min(320px,100%);
    margin:0 0 14px 0;
  }
}

/* Postituse lõpu jagamine ja navigeerimine */
.kl-post-footer{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid var(--kl-line);
}
.kl-share{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:0;
}
.kl-share a,
.kl-copy-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--kl-muted);
  cursor:pointer;
  text-decoration:none;
}
.kl-share a:hover,
.kl-copy-link:hover{
  color:var(--kl-text);
}
.kl-share svg,
.kl-copy-link svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.kl-copy-status{
  margin-left:4px;
  font-size:14px;
  color:var(--kl-muted);
}
.kl-post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:24px;
}
.kl-post-nav a{
  color:var(--kl-text);
  text-decoration:none;
  font-size:18px;
  line-height:1.35;
  font-weight:200;
}
.kl-post-nav a:hover{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.15em;
}
.kl-post-nav .kl-next{
  text-align:right;
}
.kl-post-nav-label{
  display:block;
  margin-bottom:4px;
  color:var(--kl-muted);
  font-size:13px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media (max-width:640px){
  .kl-post-nav{
    grid-template-columns:1fr;
    gap:16px;
  }
  .kl-post-nav .kl-next{
    text-align:left;
  }
}

/* Kõik saidi pealkirjad: Raleway 300 */
h1,h2,h3,h4,h5,h6,
.kl-site-title,
.kl-post-card h1,
.kl-post-card h2,
.kl-article-title,
.kl-page-title,
.kl-search-title,
.kl-article-content h1,
.kl-article-content h2,
.kl-article-content h3,
.kl-article-content h4,
.kl-article-content h5,
.kl-article-content h6,
.kl-page-content h1,
.kl-page-content h2,
.kl-page-content h3,
.kl-page-content h4,
.kl-page-content h5,
.kl-page-content h6,
.kl-archive-item a,
.kl-media-title {
  font-family:"Raleway", sans-serif !important;
  font-weight:300 !important;
}

/* Mobiilivaate viimistlus – desktopi välimust ei muuda */
@media (max-width:720px){
  .kl-nav-menu{
    flex-wrap:wrap;
    gap:10px 14px;
  }

  .kl-header-tools{
    flex-wrap:wrap;
    row-gap:12px;
  }

  .kl-search[open] form{
    right:auto;
    left:0;
    width:min(320px,calc(100vw - 40px));
  }

  .kl-main{
    padding-top:32px;
  }

  .kl-page-title,
  .kl-article-title,
  .kl-search-title{
    margin-bottom:24px;
  }

  .kl-media-title,
  .kl-archive-item a{
    font-size:25px;
  }
}

@media (max-width:520px){
  .kl-header-inner{
    width:calc(100% - 28px);
    grid-template-columns:84px minmax(0,1fr);
    gap:14px;
  }

  .kl-header-photo{
    width:84px;
    border-radius:11px;
  }

  .kl-site-title{
    font-size:23px;
    letter-spacing:-.015em;
  }

  .kl-tagline{
    font-size:15px;
  }

  .kl-social{
    gap:12px;
  }

  .kl-nav{
    width:100%;
  }

  .kl-nav-menu{
    gap:8px 12px;
  }

  .kl-nav-menu a,
  .kl-nav a{
    font-size:13px;
  }

  .kl-home,
  .kl-content,
  .kl-footer{
    width:calc(100% - 28px);
  }

  .kl-post-card h2,
  .kl-post-card:first-child h2{
    font-size:27px;
  }

  .kl-page-title,
  .kl-article-title,
  .kl-search-title{
    font-size:36px;
  }

  .kl-article-content,
  .kl-page-content,
  .kl-excerpt{
    overflow-wrap:anywhere;
  }
}

/* Avalehe kõige värskem lugu täispikkuses */
.kl-post-full-content::after{
  content:"";
  display:block;
  clear:both;
}
.kl-post-full-content p{
  margin:0 0 1.15em;
}

.kl-media-lead{
  margin:6px 0 7px;
  font-size:18px;
  line-height:1.55;
}

/* Minimalistlik jalus */
.kl-footer{
  width:min(calc(100% - 48px),var(--kl-content));
  margin:0 auto;
  padding:28px 0 40px;
  border-top:1px solid var(--kl-line);
  color:var(--kl-muted);
  font-size:14px;
}
.kl-footer-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}
.kl-footer-brand{
  min-width:0;
}
.kl-footer-name{
  margin:0 0 4px;
  font-family:"Raleway",sans-serif;
  font-size:18px;
  line-height:1.2;
  font-weight:300;
  color:var(--kl-text);
}
.kl-footer-copy{
  margin:0;
}
.kl-footer-nav .kl-footer-menu{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 18px;
  margin:0;
  padding:0;
  list-style:none;
}
.kl-footer-nav a{
  color:var(--kl-muted);
  text-decoration:none;
  font-family:"Raleway",sans-serif;
  font-weight:300;
}
.kl-footer-nav a:hover{
  color:var(--kl-text);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
}
@media (max-width:640px){
  .kl-footer{
    width:calc(100% - 28px);
    padding:24px 0 32px;
  }
  .kl-footer-inner{
    display:block;
  }
  .kl-footer-nav{
    margin-top:16px;
  }
  .kl-footer-nav .kl-footer-menu{
    justify-content:flex-start;
    gap:8px 14px;
  }
}

/* Otsing ja 404 */
.kl-search-page-form,
.kl-404-search{
  max-width:560px;
  margin:0 0 34px;
}
.kl-search-form{
  display:flex;
  align-items:stretch;
  width:100%;
  border:1px solid var(--kl-line);
  background:#fff;
}
.kl-search-form input[type="search"]{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  padding:11px 12px;
  font:inherit;
  font-size:16px;
  color:var(--kl-text);
  background:#fff;
}
.kl-search-form button{
  border:0;
  border-left:1px solid var(--kl-line);
  padding:10px 16px;
  background:transparent;
  color:var(--kl-text);
  font-family:"Raleway",sans-serif;
  font-weight:300;
  cursor:pointer;
}
.kl-search-form button:hover{
  background:#f7f4ee;
}
.kl-search-count{
  margin:-10px 0 30px;
  color:var(--kl-muted);
  font-size:15px;
}
.kl-404-text{
  max-width:620px;
  margin:0 0 24px;
}
.kl-home-link{
  display:inline-block;
  margin:0 0 30px;
  color:var(--kl-text);
  font-family:"Raleway",sans-serif;
  font-weight:300;
  text-decoration:underline;
  text-underline-offset:.16em;
}

/* Mobiili otsing: hoia avanev kast alati ekraani sees */
@media (max-width:720px){
  .kl-search{
    margin-left:auto;
  }

  .kl-search[open] form{
    left:auto;
    right:0;
    width:min(320px,calc(100vw - 28px));
    max-width:calc(100vw - 28px);
  }
}

/* Privaatsus ja küpsised */
.kl-privacy-note{
  margin:0 0 30px;
  padding:18px 20px;
  background:var(--kl-warm);
  border:1px solid var(--kl-line);
  border-radius:8px;
}
.kl-privacy-note strong{
  font-weight:700;
}
.kl-privacy-content h2{
  margin:1.55em 0 .45em;
  font-family:"Raleway",sans-serif;
  font-size:30px;
  line-height:1.15;
  font-weight:300;
}
.kl-privacy-content p,
.kl-privacy-content li{
  line-height:1.58;
}
.kl-privacy-content ul{
  padding-left:1.2em;
}
.kl-footer-privacy{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.45;
}
.kl-footer-privacy a{
  color:var(--kl-muted);
  text-decoration:underline;
  text-underline-offset:.16em;
}
.kl-footer-privacy a:hover{
  color:var(--kl-text);
}
