/*
Theme Name: Arkhe Child
Theme URI: https://gitenshinwa.com/
Description: Child theme for Arkhe, used for 偽天神話.
Author: GITEN SHINWA
Template: arkhe
Version: 1.2.0
Text Domain: arkhe-child
*/

:root{
  --gs-bg:#0D0D0D;
  --gs-bg-2:#151412;
  --gs-text:#E8E2D6;
  --gs-muted:#A59E91;
  --gs-gold:#8B6A3E;
  --gs-copper:#715039;
  --gs-red:#6E1717;
  --gs-bone:#C7BBA8;
  --gs-line:rgba(232,226,214,.14);
  --gs-white:#F1EFE7;
  --gs-blue:#C8D8DE;
}

body.single-divinity,
body.single-story,
body.single-archive,
body.single-work{
  background:var(--gs-bg);
  color:var(--gs-text);
}

.single-divinity .l-content,
.single-story .l-content,
.single-archive .l-content,
.single-work .l-content,
.single-divinity main,
.single-story main,
.single-archive main,
.single-work main,
.single-divinity .p-mainArea,
.single-story .p-mainArea,
.single-archive .p-mainArea,
.single-work .p-mainArea{
  background:var(--gs-bg);
}

.gs-shell{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
  padding:64px 0 120px;
}

.gs-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,520px);
  gap:56px;
  align-items:end;
  padding:64px 0 72px;
  border-bottom:1px solid var(--gs-line);
}

.gs-kicker,.gs-section__en{
  margin:0 0 14px;
  font-size:.78rem;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gs-gold);
}

.gs-title{
  margin:0;
  font-size:clamp(3rem,8vw,7rem);
  line-height:.95;
  letter-spacing:.04em;
  color:var(--gs-text);
  font-weight:600;
}

.gs-reading{
  margin:18px 0 0;
  font-size:.92rem;
  letter-spacing:.2em;
  color:var(--gs-muted);
}

.gs-english{
  margin:8px 0 0;
  font-size:clamp(1.1rem,2vw,1.45rem);
  letter-spacing:.22em;
  color:var(--gs-bone);
}

.gs-copy{
  margin:34px 0 0;
  max-width:34em;
  font-size:clamp(1rem,1.8vw,1.28rem);
  line-height:1.9;
  color:var(--gs-bone);
}

.gs-quote{
  margin:30px 0 0;
  padding-left:18px;
  border-left:1px solid var(--gs-gold);
  font-size:1rem;
  line-height:2;
  color:var(--gs-text);
  white-space:pre-line;
}

.gs-hero__image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  background:#111;
}

.gs-section{
  padding:76px 0;
  border-bottom:1px solid var(--gs-line);
}

.gs-section__title{
  margin:0 0 28px;
  font-size:clamp(1.65rem,3vw,2.4rem);
  line-height:1.3;
  font-weight:500;
  letter-spacing:.06em;
}

.gs-body{
  max-width:820px;
  font-size:1rem;
  line-height:2.05;
  color:var(--gs-bone);
}

.gs-body p:first-child{margin-top:0;}
.gs-body p:last-child{margin-bottom:0;}

.gs-data{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--gs-line);
}

.gs-data__row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:17px 0;
  border-bottom:1px solid var(--gs-line);
}

.gs-data__row:nth-child(odd){padding-right:34px;}
.gs-data__row:nth-child(even){
  padding-left:34px;
  border-left:1px solid var(--gs-line);
}

.gs-data dt{
  margin:0;
  color:var(--gs-muted);
  font-size:.82rem;
  letter-spacing:.08em;
}

.gs-data dd{margin:0;color:var(--gs-text);}

.gs-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.gs-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.gs-figure{margin:0;}
.gs-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  background:#111;
}
.gs-caption{
  margin-top:10px;
  color:var(--gs-muted);
  font-size:.78rem;
  letter-spacing:.08em;
}

.gs-related{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--gs-line);
}
.gs-related__item{
  padding:18px 0;
  border-bottom:1px solid var(--gs-line);
}
.gs-related__item:nth-child(odd){padding-right:34px;}
.gs-related__item:nth-child(even){
  padding-left:34px;
  border-left:1px solid var(--gs-line);
}
.gs-related__label{
  display:block;
  margin-bottom:8px;
  color:var(--gs-muted);
  font-size:.78rem;
  letter-spacing:.08em;
}
.gs-related__value{color:var(--gs-text);line-height:1.7;}

.gs-workbox{
  padding:32px;
  border:1px solid var(--gs-line);
  background:linear-gradient(180deg, rgba(139,106,62,.08), rgba(255,255,255,.01));
}

.gs-recorded{
  max-width:820px;
  white-space:pre-line;
  font-size:1rem;
  line-height:2.15;
  color:var(--gs-text);
}

/* STORY */
.gs-story-head{
  max-width:880px;
  margin:0 auto;
  padding:72px 0 54px;
  text-align:center;
}
.gs-story-number{
  color:var(--gs-gold);
  letter-spacing:.18em;
  font-size:.78rem;
}
.gs-story-title{
  margin:18px 0 0;
  font-size:clamp(2.4rem,7vw,5.6rem);
  line-height:1.08;
}
.gs-story-sub{
  margin:14px 0 0;
  color:var(--gs-muted);
  letter-spacing:.14em;
}
.gs-story-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 24px;
  margin-top:26px;
  color:var(--gs-muted);
  font-size:.84rem;
}
.gs-story-hero{
  margin:0 auto 64px;
  max-width:1100px;
}
.gs-story-hero img{
  width:100%;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
}
.gs-story-intro{
  max-width:760px;
  margin:0 auto 54px;
  padding:28px 0 28px 24px;
  border-left:1px solid var(--gs-gold);
  font-family:serif;
  font-size:clamp(1.1rem,2vw,1.35rem);
  line-height:2;
  color:var(--gs-text);
}
.gs-story-content{
  max-width:760px;
  margin:0 auto;
  font-family:serif;
  font-size:1.05rem;
  line-height:2.2;
  color:var(--gs-bone);
}
.gs-story-content h2,.gs-story-content h3{
  color:var(--gs-text);
  margin-top:3em;
}
.gs-story-quote{
  max-width:760px;
  margin:72px auto 0;
  padding:40px 0;
  text-align:center;
  border-top:1px solid var(--gs-line);
  border-bottom:1px solid var(--gs-line);
  font-family:serif;
  font-size:1.2rem;
  line-height:2;
}
.gs-story-nav{
  max-width:880px;
  margin:72px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.gs-story-nav__item{
  border:1px solid var(--gs-line);
  padding:20px;
}

/* ARCHIVE */
.gs-archive-header{
  padding:56px 0 44px;
  border-bottom:1px solid var(--gs-line);
}
.gs-archive-stamp{
  display:inline-block;
  border:1px solid var(--gs-red);
  color:#b45555;
  padding:6px 10px;
  font-size:.72rem;
  letter-spacing:.18em;
  transform:rotate(-2deg);
}
.gs-archive-code{
  margin-top:18px;
  font-family:monospace;
  color:var(--gs-muted);
  letter-spacing:.12em;
}
.gs-archive-title{
  margin:20px 0 0;
  font-size:clamp(2.6rem,7vw,5.8rem);
  line-height:1;
}
.gs-archive-panel{
  background:var(--gs-bg-2);
  border:1px solid var(--gs-line);
  padding:28px;
}
.gs-archive-note{
  border-left:2px solid var(--gs-red);
  padding:18px 20px;
  background:rgba(110,23,23,.08);
}

/* WORK */
.gs-product-hero{
  display:grid;
  grid-template-columns:minmax(320px,1.1fr) minmax(280px,.9fr);
  gap:48px;
  align-items:start;
  padding:56px 0 72px;
  border-bottom:1px solid var(--gs-line);
}
.gs-product-image img{
  width:100%;
  display:block;
  aspect-ratio:4/5;
  object-fit:cover;
}
.gs-price{
  margin:28px 0 0;
  font-size:2rem;
  letter-spacing:.04em;
}
.gs-status{
  display:inline-block;
  margin-top:14px;
  padding:7px 10px;
  border:1px solid var(--gs-line);
  color:var(--gs-muted);
  font-size:.78rem;
  letter-spacing:.1em;
}
.gs-buy{
  display:inline-block;
  margin-top:28px;
  padding:14px 22px;
  border:1px solid var(--gs-gold);
  color:var(--gs-text);
  text-decoration:none;
}
.gs-buy:hover{opacity:.8;}
.gs-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--gs-line);
}
.gs-specs__row{
  padding:16px 0;
  border-bottom:1px solid var(--gs-line);
}
.gs-specs__row:nth-child(odd){padding-right:28px;}
.gs-specs__row:nth-child(even){
  padding-left:28px;
  border-left:1px solid var(--gs-line);
}
.gs-specs__label{
  color:var(--gs-muted);
  font-size:.8rem;
  margin-bottom:6px;
}

@media(max-width:800px){
  .gs-shell{width:min(100% - 28px,1180px);padding-top:28px;}
  .gs-hero,.gs-product-hero{grid-template-columns:1fr;gap:34px;}
  .gs-hero__image{order:-1;}
  .gs-data,.gs-related,.gs-specs,.gs-story-nav{grid-template-columns:1fr;}
  .gs-data__row:nth-child(odd),.gs-data__row:nth-child(even),
  .gs-related__item:nth-child(odd),.gs-related__item:nth-child(even),
  .gs-specs__row:nth-child(odd),.gs-specs__row:nth-child(even){
    padding-left:0;padding-right:0;border-left:0;
  }
  .gs-grid-3,.gs-grid-2{grid-template-columns:1fr;}
  .gs-section{padding:56px 0;}
}
