/*
Theme Name: Explor Shan
Theme URI: https://explorshan.com/
Author: Shan
Description: Light, mobile-first explorer and future-tech magazine theme for Explor Shan. Wild places and useful AI, every day.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: explorshan
*/

:root{
  --es-ink:#0B1F2A;
  --es-muted:#3E5560;
  --es-bg:#F5F8F7;
  --es-card:#FFFFFF;
  --es-line:#DCE5E3;
  --es-teal:#0A6E75;
  --es-teal-dark:#0A5C62;
  --es-teal-soft:#E3F1F0;
  --es-glow:#7FE3D8;
  --es-orange-text:#9A3412;
  --es-orange-soft:#FFE4D6;
  --es-accent:#FF7A3D;
  --es-logo:#0B3A52;
  --es-display:'Archivo',system-ui,sans-serif;
  --es-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --es-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --es-radius:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--es-bg);color:var(--es-ink);font:400 17px/1.6 var(--es-body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--es-ink);text-decoration:none}
a:hover{color:var(--es-teal)}
:focus-visible{outline:3px solid var(--es-teal);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:#fff;padding:12px 16px;z-index:1000;border-radius:8px}

.es-wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.es-kick{font:500 12px/1.2 var(--es-mono);letter-spacing:.14em;text-transform:uppercase}
.es-disp{font-family:var(--es-display);font-stretch:125%;font-weight:800;letter-spacing:-.02em;line-height:1.02;margin:0;text-wrap:balance}
.es-h1{font-size:clamp(32px,5vw,68px)}
.es-h2{font-size:clamp(26px,3.2vw,40px)}
.es-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;font:500 11px/1 var(--es-mono);letter-spacing:.08em;text-transform:uppercase;background:#F1F5F4;color:var(--es-muted)}
.es-chip--orange{background:var(--es-orange-soft);color:var(--es-orange-text)}
.es-chip--teal{background:var(--es-teal-soft);color:var(--es-teal-dark)}
.es-chip--dark{background:#16323F;color:var(--es-glow)}
.es-card{background:var(--es-card);border:1px solid var(--es-line);border-radius:var(--es-radius)}
.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:26px;border:0;font:700 15px/1 var(--es-body);cursor:pointer}
.es-btn--accent{background:var(--es-accent);color:var(--es-ink)}
.es-btn--accent:hover{color:var(--es-ink);filter:brightness(1.05)}
.es-btn--dark{background:var(--es-ink);color:#fff}
.es-btn--dark:hover{color:#fff;background:#163444}
.es-link{font:700 15px/1 var(--es-body);color:var(--es-teal)}
.es-mono{font:500 12px/1.4 var(--es-mono);color:var(--es-teal-dark)}

/* Image frame with explorer viewfinder corners */
.es-img{position:relative;overflow:hidden;border-radius:10px;background:#DCE5E3}
.es-img img{width:100%;height:100%;object-fit:cover}
.es-img::after{content:"";position:absolute;inset:10px;pointer-events:none;
  background:
    linear-gradient(#fff,#fff) top left/18px 2px no-repeat,linear-gradient(#fff,#fff) top left/2px 18px no-repeat,
    linear-gradient(#fff,#fff) top right/18px 2px no-repeat,linear-gradient(#fff,#fff) top right/2px 18px no-repeat,
    linear-gradient(#fff,#fff) bottom left/18px 2px no-repeat,linear-gradient(#fff,#fff) bottom left/2px 18px no-repeat,
    linear-gradient(#fff,#fff) bottom right/18px 2px no-repeat,linear-gradient(#fff,#fff) bottom right/2px 18px no-repeat;opacity:.85}
.es-img--empty{background-color:#DCE5E3;background-image:repeating-radial-gradient(circle at 70% 30%,transparent 0 22px,rgba(11,31,42,.07) 22px 23px)}
.es-img--empty::after{background:
    linear-gradient(var(--es-ink),var(--es-ink)) top left/18px 2px no-repeat,linear-gradient(var(--es-ink),var(--es-ink)) top left/2px 18px no-repeat,
    linear-gradient(var(--es-ink),var(--es-ink)) top right/18px 2px no-repeat,linear-gradient(var(--es-ink),var(--es-ink)) top right/2px 18px no-repeat,
    linear-gradient(var(--es-ink),var(--es-ink)) bottom left/18px 2px no-repeat,linear-gradient(var(--es-ink),var(--es-ink)) bottom left/2px 18px no-repeat,
    linear-gradient(var(--es-ink),var(--es-ink)) bottom right/18px 2px no-repeat,linear-gradient(var(--es-ink),var(--es-ink)) bottom right/2px 18px no-repeat}

/* Header */
.es-header{background:#fff;border-bottom:1px solid var(--es-line);position:sticky;top:0;z-index:50}
.admin-bar .es-header{top:32px}
.es-header__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.es-logo{display:block;width:140px;height:43px;background:var(--es-logo);-webkit-mask:var(--es-logo-url) no-repeat left center/contain;mask:var(--es-logo-url) no-repeat left center/contain}
.es-logo--footer{width:117px;height:36px}
.es-sitename{font-family:var(--es-display);font-stretch:125%;font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--es-logo)}
.es-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
.es-nav a{font:700 15px/1 var(--es-body);display:block;padding:10px 0}
.es-nav li{position:relative}
.es-nav .sub-menu{display:none;position:absolute;top:100%;left:-16px;background:#fff;border:1px solid var(--es-line);border-radius:12px;padding:8px;min-width:220px;flex-direction:column;gap:0;box-shadow:0 12px 30px rgba(11,31,42,.08)}
.es-nav .sub-menu a{padding:10px 12px;border-radius:8px;font-weight:500}
.es-nav .sub-menu a:hover{background:var(--es-bg)}
.es-nav li:hover>.sub-menu,.es-nav li:focus-within>.sub-menu{display:flex}
.es-header__actions{display:flex;gap:10px;align-items:center}
.es-iconbtn{width:44px;height:44px;border-radius:22px;border:1px solid var(--es-line);background:#fff;color:var(--es-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.es-burger{display:none}
.es-nav--mobile{display:none}.es-search{display:none;padding:0 0 16px}
.es-search.is-open{display:block}
.es-search form{display:flex;gap:10px}
.es-search input[type=search]{flex:1;height:48px;border:1px solid #B9C9C5;border-radius:12px;padding:0 16px;font:400 16px var(--es-body);background:var(--es-bg)}

/* Home: hero */
.es-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px;padding:32px 0 48px}
.es-hero__main{display:flex;flex-direction:column;gap:18px;padding:14px}
.es-hero__main .es-img{height:500px}
.es-hero__text{display:flex;flex-direction:column;gap:14px;padding:6px 10px 14px}
.es-hero__text p{margin:0;font-size:19px;line-height:1.55;color:var(--es-muted);max-width:640px}
.es-chips{display:flex;flex-wrap:wrap;gap:8px}
.es-side{display:flex;flex-direction:column;gap:20px}
.es-challenge{background:var(--es-ink);color:#fff;border-radius:var(--es-radius);padding:26px;display:flex;flex-direction:column;gap:16px}
.es-challenge__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.es-challenge ol{margin:0;padding-left:20px;color:#D7E3E1;display:flex;flex-direction:column;gap:6px}
.es-mini{padding:20px;display:flex;flex-direction:column;gap:16px}
.es-mini__item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center}
.es-mini__item .es-img{height:64px;border-radius:8px}
.es-mini__item .es-img::after{display:none}
.es-mini__title{font:700 17px/1.25 var(--es-body);margin-top:4px}

/* Pillars */
.es-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.es-pillar{padding:28px;display:flex;flex-direction:column;gap:12px}
.es-pillar p{margin:0;color:var(--es-muted)}
.es-pillar__top{display:flex;align-items:center;gap:12px}

/* Sections */
.es-section{padding:40px 0}
.es-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.es-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.es-grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.es-postcard{display:flex;flex-direction:column;gap:12px;padding:12px 12px 20px}
.es-postcard .es-img{height:220px}
.es-postcard__body{padding:4px 8px 0;display:flex;flex-direction:column;gap:10px}
.es-postcard h3{margin:0;font:700 21px/1.25 var(--es-body);text-wrap:balance}
.es-plain{display:flex;flex-direction:column;gap:12px}
.es-plain .es-img{height:200px;border-radius:14px}
.es-plain h3{margin:0;font:700 20px/1.25 var(--es-body)}
.es-cat{padding:20px;display:flex;flex-direction:column;gap:12px;min-height:132px}
.es-cat__icon{width:48px;height:48px;border-radius:14px;background:var(--es-teal-soft);display:flex;align-items:center;justify-content:center;color:var(--es-teal-dark)}
.es-cat__name{font:700 17px/1.2 var(--es-body)}

.es-lab{background:var(--es-ink);color:#fff;border-radius:20px;padding:40px;display:flex;flex-direction:column;gap:24px}
.es-lab__card{border:1px solid #24414F;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;color:#fff}
.es-lab__card p{margin:0;color:#B9CCCA;font-size:16px}
.es-lab__card--live{border-color:var(--es-glow)}
.es-lab__card--live:hover{color:#fff;background:#12303C}
.es-lab__title{font:700 19px/1.25 var(--es-body)}

.es-newsletter{padding:36px;align-items:center;gap:28px}
.es-form{display:flex;flex-direction:column;gap:10px}
.es-form label{font:700 14px/1 var(--es-body)}
.es-form input[type=email]{height:52px;border:1px solid #B9C9C5;border-radius:12px;padding:0 16px;font:400 17px var(--es-body);background:var(--es-bg)}

/* Archive / blog list */
.es-pagehead{padding:40px 0 8px;display:flex;flex-direction:column;gap:12px}
.es-pagehead p{margin:0;color:var(--es-muted);max-width:640px}
.pagination,.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0}
.nav-links .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--es-line);border-radius:22px;background:#fff;padding:0 14px;font-weight:700}
.nav-links .current{background:var(--es-ink);color:#fff;border-color:var(--es-ink)}

/* Single post */
.es-crumbs{color:var(--es-muted)}
.es-crumbs a{color:var(--es-teal)}
.es-post-head{padding:32px 0 0;display:flex;flex-direction:column;gap:18px}
.es-byline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.es-byline__author{display:flex;align-items:center;gap:10px;font:700 15px/1 var(--es-body)}
.es-byline__author img{width:36px;height:36px;border-radius:18px}
.es-feat{height:560px;border-radius:16px;margin-top:8px}
.es-feat-credit{font:500 12px/1.4 var(--es-mono);color:var(--es-muted);margin-top:8px}
.es-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;padding:40px 0 56px}
.es-content{max-width:720px;min-width:0}
.es-content>*:first-child{margin-top:0}
.es-content p,.es-content li{font-size:19px;line-height:1.7;color:#22343D}
.es-content h2{font-family:var(--es-display);font-stretch:115%;font-weight:800;font-size:28px;line-height:1.15;margin:44px 0 12px;text-wrap:balance}
.es-content h3{font:700 21px/1.3 var(--es-body);margin:28px 0 8px}
.es-content a{color:var(--es-teal);text-decoration:underline;text-underline-offset:3px}
.es-content ul,.es-content ol{padding-left:24px}
.es-content li{margin:6px 0}
.es-content strong{color:var(--es-ink)}
.es-content hr{border:0;border-top:1px solid var(--es-line);margin:40px 0}
.es-content blockquote{margin:28px 0;padding:18px 22px;border-radius:12px;background:var(--es-teal-soft)}
.es-content img{border-radius:12px}
.es-content .wp-block-image figcaption,.es-content figcaption{font:500 12px/1.4 var(--es-mono);color:var(--es-muted)}
.es-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.es-box{padding:22px;display:flex;flex-direction:column;gap:10px}
.es-box__head{display:flex;align-items:center;gap:10px}
.es-box--join{background:#FFF1EA;border:1px solid #FFD2BD;border-radius:var(--es-radius)}
.es-fact{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #E8EEEC;padding-bottom:10px;font-size:16px}
.es-fact:last-child{border:0;padding:0}
.es-fact span:last-child{font:500 13px/1.4 var(--es-mono);text-align:right}
.es-bio{padding:20px;display:flex;gap:14px;align-items:center}
.es-bio img{width:60px;height:60px;border-radius:30px;flex:none}
.es-bio p{margin:4px 0 0;font-size:15px;line-height:1.45;color:var(--es-muted)}
.es-cta{background:var(--es-ink);color:#fff;border-radius:var(--es-radius);padding:28px;margin:40px 0;display:flex;flex-direction:column;gap:14px}
.es-cta p{margin:0;color:#D7E3E1!important;font-size:17px!important}
.es-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}

/* Pages */
.es-page{padding:40px 0 64px}
.es-page .es-content{max-width:760px}

/* Footer */
.es-footer{background:#fff;border-top:1px solid var(--es-line);padding:36px 0}
.es-footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.es-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:20px}
.es-footer a{font:700 14px/1.8 var(--es-body)}
.es-social{display:flex;gap:10px}
.es-copy{font:500 12px/1 var(--es-mono);color:var(--es-muted)}

/* Comments */
.es-comments{margin-top:48px}
.es-comments .comment-list{list-style:none;padding:0}
.es-comments textarea,.es-comments input[type=text],.es-comments input[type=email],.es-comments input[type=url]{width:100%;border:1px solid #B9C9C5;border-radius:12px;padding:12px 14px;font:400 16px var(--es-body);background:#fff}
.es-comments .submit{background:var(--es-ink);color:#fff;border:0;border-radius:26px;min-height:48px;padding:0 22px;font:700 15px var(--es-body);cursor:pointer}

/* Phones and tablets */
@media (max-width:880px){
  .es-wrap{padding:0 18px}
  .es-hero,.es-two,.es-grid3,.es-layout{grid-template-columns:minmax(0,1fr)}
  .es-grid5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .es-hero{padding:18px 0 28px;gap:18px}
  .es-hero__main{padding:10px}
  .es-hero__main .es-img{height:260px}
  .es-feat{height:240px}
  .es-header__bar{height:64px}
  .es-logo{width:117px;height:36px}
  .es-burger{display:inline-flex}
  .es-header__cta{display:none}
  .es-nav--desktop{display:none}
  .es-nav--mobile.is-open{display:block;padding:0 0 16px}
  .es-nav ul{flex-direction:column;gap:0}
  .es-nav a{padding:14px 0;border-bottom:1px solid var(--es-line)}
  .es-nav .sub-menu{display:flex;position:static;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}
  .es-scroll{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding-bottom:6px}
  .es-scroll>*{flex:0 0 78%;scroll-snap-align:start}
  .es-lab{padding:24px}
  .es-newsletter{padding:22px}
  .es-aside{position:static}
  .es-content p,.es-content li{font-size:18px}
  .es-postcard .es-img{height:200px}
}
@media (max-width:782px){.admin-bar .es-header{top:46px}}
@media (prefers-reduced-motion:no-preference){a,.es-btn{transition:color .15s,background-color .15s}}
