/*
Theme Name: Grace Link Child
Template: generatepress
Version: 2.5.17.3
Description: Grace Link Daily Portal child theme.
*/

:root{
  --gl-bg:#f5f2ea; --gl-paper:#fffdf8; --gl-ink:#192219; --gl-muted:#6f786e;
  --gl-line:#e0ddd3; --gl-green:#294d36; --gl-green2:#416b4f; --gl-gold:#b58a43;
}
body{margin:0;background:var(--gl-bg);color:var(--gl-ink);font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.site-header,.main-navigation,.site-footer{display:none!important}
.site-content{padding:0!important}.container.grid-container{max-width:none!important}.content-area{width:100%!important}#primary,.site-main{margin:0!important}
.gl-wrap{max-width:1240px;margin:auto;padding:0 24px}
.gl-utility{background:#183124;color:#e8efe9;font-size:13px}
.gl-utility .gl-wrap{height:38px;display:flex;align-items:center;justify-content:space-between}
.gl-header{background:rgba(255,253,248,.95);border-bottom:1px solid var(--gl-line);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.gl-header-main{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.gl-brand{display:flex;align-items:center;gap:12px;color:var(--gl-ink);text-decoration:none}
.gl-brandmark{width:42px;height:42px;border-radius:50%;background:var(--gl-green);display:grid;place-items:center;color:#fff;font-family:Georgia,serif;font-size:20px}
.gl-brand strong{display:block;font-family:Georgia,serif;font-size:21px;letter-spacing:.04em}.gl-brand small{display:block;color:var(--gl-muted);font-size:11px;letter-spacing:.14em}
.gl-nav{display:flex;gap:24px;font-size:15px;font-weight:750}.gl-nav a{text-decoration:none;color:var(--gl-ink)}.gl-nav a:hover{color:var(--gl-green2)}
.gl-datebar{background:var(--gl-paper);border-bottom:1px solid var(--gl-line)}
.gl-datebar .gl-wrap{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gl-today{font-weight:700}.gl-today span{display:block;color:var(--gl-muted);font-size:12px;font-weight:400}
.gl-hero{padding:34px 0 22px}.gl-hero-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:22px}
.gl-hero-main{min-height:500px;border-radius:28px;padding:48px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(125deg,rgba(14,44,27,.92),rgba(22,62,38,.74) 46%,rgba(34,68,46,.28)),linear-gradient(160deg,#5a7961 0 35%,#b0b78f 35% 47%,#6b8268 47% 60%,#314838 60% 100%)}
.gl-kicker{font-size:12px;font-weight:800;letter-spacing:.12em}.gl-hero-main h1{font-size:clamp(38px,5vw,68px);line-height:1.06;letter-spacing:-.045em;margin:70px 0 18px;max-width:740px}
.gl-hero-main p{max-width:620px;font-size:18px;color:#e8efe8}.gl-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#d2ded3;margin-top:20px}
.gl-buttons{position:absolute;left:48px;bottom:42px;display:flex;gap:10px}.gl-btn{display:inline-block;border-radius:999px;padding:12px 17px;font-weight:800;text-decoration:none}
.gl-btn.light{background:#fff;color:#203729}.gl-btn.green{background:var(--gl-green);color:#fff}
.gl-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:22px}.gl-side-card{border-radius:26px;padding:28px;min-height:238px;position:relative;overflow:hidden}
.gl-side-card.morning{background:linear-gradient(145deg,#ede2c8,#fff7e6)}.gl-side-card.prayer{background:linear-gradient(145deg,#dfe9df,#eff6ef)}
.gl-side-card .tag{font-size:11px;font-weight:850;letter-spacing:.11em;color:var(--gl-green)}.gl-side-card h3{font-size:25px;line-height:1.28;margin:14px 0 12px}
.gl-side-card p{font-size:14px;color:#59645a}.gl-side-card a{position:absolute;left:28px;bottom:24px;font-weight:850;color:var(--gl-green);text-decoration:none}
.gl-section{padding:42px 0}.gl-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.gl-section-head .label{font-size:12px;color:var(--gl-green2);font-weight:850;letter-spacing:.13em}.gl-section-head h2{font-family:Georgia,serif;font-size:35px;margin:3px 0 0}
.gl-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gl-card{background:var(--gl-paper);border:1px solid var(--gl-line);border-radius:20px;overflow:hidden}
.gl-card a{text-decoration:none;color:inherit}.gl-thumb{height:174px;background:linear-gradient(145deg,#829a84,#d0ccb3 55%,#596b55)}
.gl-card:nth-child(2) .gl-thumb{background:linear-gradient(145deg,#8da2a1,#d8d0bd 53%,#526b6b)}.gl-card:nth-child(3) .gl-thumb{background:linear-gradient(145deg,#6f765f,#b8aa8b 55%,#504f44)}
.gl-card-body{padding:20px}.gl-category{font-size:11px;color:var(--gl-gold);font-weight:900;letter-spacing:.08em}.gl-card h3{font-size:20px;line-height:1.36;margin:8px 0 9px}
.gl-card p{font-size:13px;color:var(--gl-muted)}.gl-card-meta{display:flex;justify-content:space-between;gap:12px;color:#8c958b;font-size:11px}
.gl-proverb{border-top:1px solid var(--gl-line);border-bottom:1px solid var(--gl-line);padding:48px 0;margin:18px 0;text-align:center}
.gl-proverb blockquote{font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(24px,3vw,38px);line-height:1.55;margin:0 auto 12px;max-width:950px}.gl-proverb cite{font-style:normal;font-size:12px;color:var(--gl-muted)}
.gl-feature{background:#192b20;color:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;min-height:390px}
.gl-feature-photo{background:linear-gradient(145deg,#657b68,#a5aa84 48%,#384d3d)}.gl-feature-copy{padding:48px}.gl-feature-copy small{color:#a9c0ae;font-weight:800}
.gl-feature-copy h2{font-size:38px;line-height:1.25;margin:12px 0 18px}.gl-feature-copy p{color:#cbd7cd}
.gl-prayer{background:#fff;border:1px solid var(--gl-line);border-radius:25px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.gl-prayer h3{margin:0 0 7px;font-size:23px}.gl-prayer p{margin:0;color:var(--gl-muted)}.gl-prayer-count{text-align:center}
.gl-prayer-count strong{display:block;font-family:Georgia,serif;font-size:34px;color:var(--gl-green)}.gl-prayer-count span{font-size:11px;color:var(--gl-muted)}
.gl-archive{background:#fff;border:1px solid var(--gl-line);border-radius:22px;overflow:hidden}.gl-list-item{padding:19px 22px;border-bottom:1px solid var(--gl-line);display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;text-decoration:none;color:inherit}
.gl-list-item:last-child{border-bottom:0}.gl-list-date{font-family:Georgia,serif;color:var(--gl-green);font-size:15px}.gl-list-title strong{display:block;font-size:15px}.gl-list-title span{font-size:12px;color:var(--gl-muted)}.gl-list-meta{font-size:11px;color:#929a91}
.gl-footer{background:#15261b;color:#dce5dd;margin-top:55px;padding:50px 0}.gl-footer p{color:#aebdaf;font-size:12px}
@media(max-width:980px){.gl-nav{display:none}.gl-hero-grid{grid-template-columns:1fr}.gl-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gl-grid3{grid-template-columns:1fr 1fr}.gl-feature{grid-template-columns:1fr}.gl-feature-photo{min-height:260px}}
@media(max-width:700px){.gl-wrap{padding:0 16px}.gl-side-stack,.gl-grid3{grid-template-columns:1fr}.gl-hero-main{padding:30px;min-height:510px}.gl-buttons{left:30px;bottom:30px}.gl-section-head{align-items:flex-start;flex-direction:column}.gl-prayer{grid-template-columns:1fr}.gl-list-item{grid-template-columns:68px 1fr}.gl-list-meta{display:none}}


/* v1.1 standalone front-page fixes */
html{scroll-behavior:smooth}
body.grace-link-home{margin:0!important;padding:0!important;background:var(--gl-bg)!important}
body.grace-link-home *{box-sizing:border-box}
body.grace-link-home #page,
body.grace-link-home .site,
body.grace-link-home .site-content,
body.grace-link-home .content-area,
body.grace-link-home main{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.grace-link-home a{box-shadow:none}
body.admin-bar.grace-link-home .gl-header{top:32px}
@media(max-width:782px){body.admin-bar.grace-link-home .gl-header{top:46px}}

/* v1.2 - hard removal of any GeneratePress shell on portal home */
.grace-link-home #masthead,
.grace-link-home #site-navigation,
.grace-link-home .site-header,
.grace-link-home .main-navigation,
.grace-link-home .site-footer,
.grace-link-home .site-info,
.grace-link-home footer#site-footer,
.grace-link-home .footer-widgets {
  display:none!important;
}


/* ===== Grace Link v1.3 real-link / inner page styles ===== */
.grace-link-home *, .grace-link-inner *{box-sizing:border-box}
.grace-link-inner{margin:0;background:var(--gl-bg);color:var(--gl-ink)}
.grace-link-inner #page,.grace-link-inner .site-header,.grace-link-inner .main-navigation,.grace-link-inner .site-footer{display:none!important}
.gl-more{color:var(--gl-green);font-weight:800;text-decoration:none;font-size:13px}
.gl-proverb a{color:inherit;text-decoration:none}
.gl-proverb p{color:var(--gl-muted);margin:10px auto;max-width:760px}
.gl-prayer-link{text-decoration:none;color:inherit}
.gl-footer-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px}
.gl-footer a{color:#dce5dd;text-decoration:none}
.gl-empty{padding:32px;color:var(--gl-muted);background:#fff;border:1px solid var(--gl-line);border-radius:18px}

/* article */
.gl-article-wrap{max-width:940px;margin:0 auto;padding:70px 24px}
.gl-article{background:#fffdf8;border:1px solid var(--gl-line);border-radius:28px;padding:clamp(28px,5vw,64px)}
.gl-breadcrumb{font-size:12px;color:var(--gl-muted);margin-bottom:22px}
.gl-breadcrumb a{color:var(--gl-green);text-decoration:none}
.gl-article h1{font-size:clamp(34px,5vw,58px);line-height:1.14;letter-spacing:-.04em;margin:0 0 18px}
.gl-article-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--gl-muted);font-size:13px;padding-bottom:28px;border-bottom:1px solid var(--gl-line)}
.gl-article-image{margin:34px 0}.gl-article-image img{width:100%;height:auto;border-radius:20px;display:block}
.gl-article-content{font-size:18px;line-height:1.9}
.gl-article-content p{margin:0 0 1.45em}
.gl-article-content h2{margin-top:2em;font-size:30px}
.gl-share{margin-top:46px;padding:20px 0;border-top:1px solid var(--gl-line);border-bottom:1px solid var(--gl-line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gl-share strong{margin-right:10px}.gl-share a,.gl-share button{border:1px solid var(--gl-line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--gl-green);font-size:12px;text-decoration:none}
.gl-post-nav{display:flex;justify-content:space-between;gap:20px;padding:30px 0}.gl-post-nav a{color:var(--gl-green);font-weight:800;text-decoration:none}
.gl-comments{margin-top:20px;padding-top:30px;border-top:1px solid var(--gl-line)}
.gl-comments input,.gl-comments textarea{width:100%;border:1px solid var(--gl-line);border-radius:12px;padding:12px}
.gl-comments input[type=submit]{width:auto;background:var(--gl-green);color:#fff;border:0;border-radius:999px;padding:11px 17px}

/* category/search */
.gl-category-page{padding:58px 0 80px}
.gl-category-hero{padding:30px 0 36px;border-bottom:1px solid var(--gl-line);margin-bottom:30px}
.gl-category-hero .label{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--gl-green2)}
.gl-category-hero h1{font-size:clamp(38px,6vw,64px);margin:7px 0 8px;letter-spacing:-.045em}
.gl-category-hero p{color:var(--gl-muted);max-width:760px}
.gl-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gl-cat-card{background:#fff;border:1px solid var(--gl-line);border-radius:20px;overflow:hidden}
.gl-cat-card a{text-decoration:none;color:inherit}
.gl-cat-image{height:190px;overflow:hidden;background:linear-gradient(145deg,#829a84,#d0ccb3 55%,#596b55)}
.gl-cat-image img{width:100%;height:100%;object-fit:cover;display:block}
.gl-cat-copy{padding:20px}.gl-cat-copy h2{font-size:20px;line-height:1.4;margin:7px 0 10px}.gl-cat-copy p{font-size:13px;color:var(--gl-muted)}
.gl-cat-copy>span{color:var(--gl-green);font-weight:800;font-size:12px}
.gl-pagination{margin-top:36px}.gl-pagination .nav-links{display:flex;gap:8px;justify-content:center}.gl-pagination a,.gl-pagination span{padding:8px 12px;background:#fff;border:1px solid var(--gl-line);border-radius:8px;text-decoration:none}
.gl-search-form{display:flex;gap:8px;max-width:620px;margin-top:22px}
.gl-search-form input{flex:1;border:1px solid var(--gl-line);border-radius:999px;padding:12px 16px;background:#fff}
.gl-search-form button{border:0;border-radius:999px;padding:12px 20px;background:var(--gl-green);color:#fff;font-weight:800}

@media(max-width:900px){
  .gl-category-grid{grid-template-columns:repeat(2,1fr)}
  .gl-footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .gl-category-grid{grid-template-columns:1fr}
  .gl-article-wrap{padding:34px 14px}
  .gl-article{padding:26px 20px}
  .gl-article-content{font-size:16px}
  .gl-search-form{flex-direction:column}
}


/* ===== Grace Link v1.4 ===== */
.gl-grid2-news{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.gl-news-panel{
  background:#fff;
  border:1px solid var(--gl-line);
  border-radius:22px;
  padding:28px;
}

.gl-news-panel h3{
  font-size:22px;
  line-height:1.4;
  margin:8px 0 12px;
}

.gl-news-panel p{
  color:var(--gl-muted);
  font-size:14px;
  margin-bottom:18px;
}

.gl-news-panel a{
  color:var(--gl-green);
  font-weight:800;
  text-decoration:none;
}

.gl-special-section{
  background:#f0eee5;
  border-top:1px solid var(--gl-line);
  border-bottom:1px solid var(--gl-line);
}

.gl-spirit-card{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  background:#fff;
  border:1px solid var(--gl-line);
  border-radius:28px;
  overflow:hidden;
  min-height:360px;
}

.gl-spirit-image{
  min-height:360px;
  overflow:hidden;
  background:linear-gradient(145deg,#837d68,#d2c2a4 50%,#5c6353);
}

.gl-spirit-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gl-spirit-copy{
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.gl-spirit-copy h2{
  font-size:34px;
  line-height:1.3;
  margin:10px 0 16px;
  letter-spacing:-.035em;
}

.gl-spirit-copy p{
  color:var(--gl-muted);
  margin-bottom:24px;
}

@media(max-width:900px){
  .gl-grid2-news{grid-template-columns:1fr}
  .gl-spirit-card{grid-template-columns:1fr}
  .gl-spirit-image{min-height:240px}
}

@media(max-width:620px){
  .gl-spirit-copy{padding:28px}
  .gl-spirit-copy h2{font-size:27px}
}


/* ===========================
   Grace Link v1.5
   =========================== */

.gl-nav{
  display:flex;
  align-items:center;
  gap:22px;
}

.gl-menu-item{
  position:relative;
  padding:28px 0;
}

.gl-menu-item > a{
  display:block;
  color:var(--gl-ink);
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}

.gl-menu-item > a:hover{
  color:var(--gl-green);
}

.gl-dropdown{
  position:absolute;
  left:50%;
  top:70px;
  transform:translateX(-50%) translateY(8px);
  min-width:170px;
  background:#fffdf8;
  border:1px solid var(--gl-line);
  border-radius:14px;
  padding:8px;
  box-shadow:0 16px 40px rgba(24,34,25,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.18s ease;
  z-index:100;
}

.gl-menu-item:hover .gl-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.gl-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  color:var(--gl-ink);
  text-decoration:none;
  font-size:13px;
  white-space:nowrap;
}

.gl-dropdown a:hover{
  background:#eef2eb;
  color:var(--gl-green);
}

.gl-section-desc{
  margin:6px 0 0;
  color:var(--gl-muted);
  font-size:14px;
}

.gl-life-section{
  background:#fffdf8;
  border-top:1px solid var(--gl-line);
  border-bottom:1px solid var(--gl-line);
}

.gl-story-section{
  background:#f4f1e8;
}

.gl-place-section{
  background:#fffdf8;
  border-top:1px solid var(--gl-line);
  border-bottom:1px solid var(--gl-line);
}

.gl-together-section{
  background:#eef3ed;
}

.gl-place-layout{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:20px;
}

.gl-place-feature{
  min-height:440px;
  border-radius:26px;
  overflow:hidden;
}

.gl-place-feature a{
  text-decoration:none;
  color:#fff;
}

.gl-place-image{
  min-height:440px;
  width:100%;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55)),
    linear-gradient(145deg,#6b816d,#a7ad88 48%,#435646);
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}

.gl-place-overlay{
  padding:34px;
  width:100%;
}

.gl-place-overlay span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  color:#dfeadf;
}

.gl-place-overlay h3{
  margin:8px 0 10px;
  font-size:32px;
  line-height:1.25;
}

.gl-place-overlay p{
  margin:0;
  max-width:620px;
  color:#e3ece4;
}

.gl-news-stack{
  display:grid;
  gap:20px;
}

.gl-news-panel{
  background:#fff;
  border:1px solid var(--gl-line);
  border-radius:22px;
  padding:28px;
}

.gl-news-panel h3{
  font-size:21px;
  line-height:1.4;
  margin:8px 0 10px;
}

.gl-news-panel p{
  color:var(--gl-muted);
  font-size:13px;
  margin-bottom:14px;
}

.gl-news-panel a{
  color:var(--gl-green);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

@media(max-width:1060px){
  .gl-nav{gap:14px}
  .gl-menu-item > a{font-size:13px}
}

@media(max-width:980px){
  .gl-nav{display:none}
  .gl-place-layout{grid-template-columns:1fr}
  .gl-news-stack{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){
  .gl-news-stack{grid-template-columns:1fr}
  .gl-place-image{min-height:340px}
  .gl-place-overlay{padding:26px}
  .gl-place-overlay h3{font-size:26px}
}


/* ===== Grace Link v1.6 image-first presentation ===== */
.gl-card-image{
  height:190px;
  position:relative;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  transition:transform .28s ease, filter .28s ease;
}
.gl-card-image.no-image{
  background:
    radial-gradient(circle at 76% 26%,rgba(217,189,123,.42),transparent 18%),
    linear-gradient(145deg,#4f6d57,#9aae94 52%,#d5c9a9);
}
.gl-card-image:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(13,29,18,.45));
}
.gl-image-label{
  position:absolute;left:15px;bottom:13px;z-index:2;
  color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.gl-card:hover .gl-card-image{filter:saturate(1.05) brightness(.97)}
.gl-cat-image{
  height:210px;
  background-size:cover;
  background-position:center;
}
.gl-cat-image.gl-placeholder{
  background:
    radial-gradient(circle at 76% 26%,rgba(217,189,123,.42),transparent 18%),
    linear-gradient(145deg,#526f59,#a1b09b 52%,#d1c5a6);
}

/* make actual photos more dominant */
.gl-daily-hero .gl-hero-main{background-position:center;background-size:cover}
.gl-life-section .gl-card,
.gl-story-section .gl-card{box-shadow:0 12px 34px rgba(24,34,25,.06)}


/* ===== Grace Link PWA Install UI v1.8 ===== */
.gl-pwa-install{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:min(520px,calc(100% - 28px));
  z-index:99990;
  background:#fffdf8;
  color:#192219;
  border:1px solid #d9d7ce;
  border-radius:18px;
  padding:14px 14px 14px 18px;
  box-shadow:0 18px 55px rgba(16,30,20,.22);
  display:flex;
  align-items:center;
  gap:12px;
}
.gl-pwa-install[hidden]{display:none!important}
.gl-pwa-install-copy{flex:1;min-width:0}
.gl-pwa-install-copy strong{display:block;font-size:14px;margin-bottom:2px}
.gl-pwa-install-copy span{display:block;color:#6c786e;font-size:12px;line-height:1.45}
.gl-pwa-install button{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  cursor:pointer;
}
#gl-pwa-install-btn{background:#1f452d;color:#fff}
#gl-pwa-close-btn,#gl-ios-close-btn{
  width:32px;height:32px;padding:0;
  background:#eef1eb;color:#526056;font-size:19px;
}
@media(max-width:600px){
  .gl-pwa-install{bottom:12px}
  .gl-pwa-install-copy span{font-size:11px}
}


/* ===== Grace Link Global v1.9 ===== */
.gl-lang-top{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.gl-lang-top a{
  opacity:.62;
  font-weight:800;
  letter-spacing:.03em;
}
.gl-lang-top a.active{
  opacity:1;
  color:#fff4cf;
}
.grace-link-lang-en .gl-nav{gap:20px}
.grace-link-lang-en .gl-nav>a,
.grace-link-lang-en .gl-menu-item>a{font-size:13px}
@media(max-width:900px){
  .gl-lang-top{font-size:11px}
}


/* ===== Grace Link GLOBAL v2.0 ===== */
.gl-lang-top{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.gl-lang-top a{
  white-space:nowrap;
}
.grace-link-lang-fi .gl-nav,
.grace-link-lang-mn .gl-nav{
  gap:16px;
}
.grace-link-lang-fi .gl-menu-item>a,
.grace-link-lang-mn .gl-menu-item>a{
  font-size:12px;
}
@media(max-width:760px){
  .gl-utility .gl-wrap{
    gap:10px;
    align-items:flex-start;
  }
  .gl-lang-top{
    max-width:60%;
    font-size:10px;
  }
}


/* ===== Grace Link GLOBAL v2.3.1 : language selector visibility ===== */
.gl-utility .gl-lang-top a,
.gl-lang-top a,
.gl-lang-top a:visited {
  color: #9aa0a6 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.gl-utility .gl-lang-top a:hover,
.gl-lang-top a:hover {
  color: #c9ced3 !important;
}

.gl-utility .gl-lang-top a.active,
.gl-lang-top a.active {
  color: #e2e5e8 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.gl-lang-top span {
  color: #6f767c !important;
}


/* ===== Grace Link v2.3.4 Membership Navigation ===== */
.gl-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  flex-wrap:wrap;
}
.gl-account-top{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.gl-account-top a,
.gl-account-top a:visited{
  color:#b2b8bc !important;
  text-decoration:none !important;
}
.gl-account-top a:hover{
  color:#e3e7e9 !important;
}
.gl-account-top span{
  color:#6f767c;
}
.gl-account-top .gl-signup-link,
.gl-account-top .gl-my-grace-link{
  color:#d2d7da !important;
  font-weight:900;
}
@media(max-width:760px){
  .gl-top-actions{
    width:100%;
    gap:7px 12px;
  }
  .gl-lang-top{
    max-width:none;
  }
  .gl-account-top{
    font-size:10px;
  }
}


/* ===== Grace Link v2.3.9 MY GRACE page ===== */
body.grace-link-member-page{
  margin:0;
  background:#f7f7f2;
}
.gl-member-main{
  min-height:62vh;
  background:#f7f7f2;
}
.gl-member-shell{
  width:100%;
}
.gl-member-plugin-missing{
  width:min(900px,calc(100% - 36px));
  margin:50px auto;
  padding:30px;
  background:#fff;
  border:1px solid #e2e5e0;
  border-radius:20px;
}


/* ===== Grace Link v2.4.9 PWA inline shortcut button ===== */
.gl-account-top .gl-pwa-inline-btn,
.gl-account-top .gl-pwa-inline-btn:visited,
.glm240-account .gl-pwa-inline-btn,
.glm240-account .gl-pwa-inline-btn:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#eef3ef!important;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
}
.gl-account-top .gl-pwa-inline-btn:hover,
.glm240-account .gl-pwa-inline-btn:hover{
  background:rgba(255,255,255,.16);
  color:#fff!important;
}

/* Mobile menu: same size as the other account actions, no floating popup. */
.gl-mobile-account-v242 .gl-pwa-inline-btn,
.glm240-mobile-member .gl-pwa-inline-btn{
  cursor:pointer;
}

@media(max-width:760px){
  .gl-pwa-install{
    max-width:calc(100% - 24px);
  }
}


/* ===== Grace Link v2.5.0 e주보 menu/link ===== */
.gl-place-actions-v250{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.gl-ebulletin-more-v250{
  border:1px solid rgba(41,77,54,.22);
  border-radius:999px;
  padding:7px 11px;
}
@media(max-width:680px){
  .gl-place-actions-v250{
    width:100%;
    justify-content:flex-start;
    margin-top:8px;
  }
}




/* ===== Grace Link v2.5.2 Mobile Category + Submenu ===== */
.gl-mobile-category-v252{display:none}

@media(max-width:980px){
  .gl-mobile-category-v252{
    display:block;
    position:sticky;
    top:0;
    z-index:95;
    background:#fffdf8;
    border-top:1px solid #ece9df;
    border-bottom:1px solid #d9ded9;
    box-shadow:0 3px 12px rgba(24,49,36,.06);
  }

  .gl-mobile-category-top-v252{
    display:flex;
    align-items:center;
    gap:7px;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:8px 10px;
  }
  .gl-mobile-category-top-v252::-webkit-scrollbar{display:none}

  .gl-mobile-menu-group-v252{flex:0 0 auto}

  .gl-mobile-menu-toggle-v252,
  .gl-mobile-direct-v252,
  .gl-mobile-direct-v252:visited{
    appearance:none;
    border:1px solid #d9e0da;
    background:#fff;
    color:#314238!important;
    border-radius:999px;
    min-height:32px;
    padding:7px 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    white-space:nowrap;
    text-decoration:none!important;
    font-family:inherit;
    font-size:10.5px;
    font-weight:850;
    line-height:1;
    cursor:pointer;
  }

  .gl-mobile-menu-toggle-v252 span{
    font-size:11px;
    opacity:.72;
    line-height:1;
  }

  .gl-mobile-menu-toggle-v252.is-open{
    color:#fff!important;
    background:#214b31;
    border-color:#214b31;
  }

  .gl-mobile-submenus-v252{
    width:100%;
    background:#f4f6f3;
  }

  .gl-mobile-submenu-v252[hidden]{display:none!important}

  .gl-mobile-submenu-v252{
    display:flex;
    align-items:center;
    gap:7px;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:9px 10px 10px;
    border-top:1px solid #e1e6e1;
    animation:glMobileSubIn .15s ease-out;
  }
  .gl-mobile-submenu-v252::-webkit-scrollbar{display:none}

  .gl-mobile-submenu-v252 a,
  .gl-mobile-submenu-v252 a:visited{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:7px 10px;
    border-radius:8px;
    border:1px solid #d9e0da;
    background:#fff;
    color:#46564c!important;
    text-decoration:none!important;
    white-space:nowrap;
    font-size:10.5px;
    font-weight:750;
  }

  .gl-mobile-submenu-v252 .gl-mobile-submenu-all-v252,
  .gl-mobile-submenu-v252 .gl-mobile-submenu-all-v252:visited{
    background:#e6eee8;
    border-color:#c5d4c8;
    color:#214b31!important;
    font-weight:900;
  }

  @keyframes glMobileSubIn{
    from{opacity:0;transform:translateY(-3px)}
    to{opacity:1;transform:translateY(0)}
  }
}

@media(max-width:520px){
  .gl-mobile-category-top-v252{gap:6px;padding:7px 8px}
  .gl-mobile-menu-toggle-v252,
  .gl-mobile-direct-v252,
  .gl-mobile-direct-v252:visited{
    min-height:31px;
    padding:7px 9px;
    font-size:10px;
  }
  .gl-mobile-submenu-v252{
    gap:6px;
    padding:8px;
  }
  .gl-mobile-submenu-v252 a,
  .gl-mobile-submenu-v252 a:visited{
    min-height:29px;
    padding:6px 9px;
    font-size:10px;
  }
}


/* ===== Grace Link v2.5.9 Home recent-content integration ===== */
@media(min-width:1101px){
  .gl-story-section .gl-grid4-story{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .gl-story-section .gl-grid4-story .gl-card h3{
    font-size:18px;
  }
}
@media(min-width:701px) and (max-width:1100px){
  .gl-story-section .gl-grid4-story{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.gl-list-meta{
  align-items:flex-end;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.gl-latest-kind{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:130px;
  padding:4px 8px;
  border:1px solid #d9e0da;
  border-radius:999px;
  background:#f2f5f1;
  color:#31533d;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:700px){
  .gl-story-section .gl-grid4-story{grid-template-columns:1fr}
}


/* ============================================================
   v2.5.12: single mobile authentication menu / legacy fallback
   ============================================================ */
/* Old My Grace plugin builds could still output their fallback topbar
   from wp_body_open. The theme owns the full portal/member header. */
body.grace-link-home #glmg-member-topbar-fallback,
body.grace-link-inner #glmg-member-topbar-fallback,
body.grace-link-member-v240 #glmg-member-topbar-fallback,
body.grace-link-home .glmg-global-topbar,
body.grace-link-inner .glmg-global-topbar,
body.grace-link-member-v240 .glmg-global-topbar{
  display:none!important;
}
.gl-mobile-account-v242{display:none}
@media(max-width:760px){
  .gl-utility .gl-wrap{
    height:auto;
    min-height:58px;
    padding-top:10px;
    padding-bottom:10px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
  }
  .gl-utility-mission-v2512{
    flex:0 1 37%;
    min-width:0;
    font-size:10px;
    line-height:1.55;
    letter-spacing:.015em;
    overflow-wrap:normal;
  }
  .gl-top-actions{
    position:relative;
    display:flex;
    flex:1 1 auto;
    min-width:0;
    width:auto;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:5px;
  }
  .gl-lang-top{
    max-width:none;
    flex-wrap:nowrap;
    justify-content:flex-end;
    font-size:11px;
  }
  .gl-account-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:5px;
    font-size:10px;
    line-height:1.5;
    white-space:normal;
  }
  .gl-mobile-account-v242{
    display:inline-block;
    position:relative;
    white-space:normal;
  }
  .gl-mobile-account-v242 summary{
    display:inline-flex;
    align-items:center;
    list-style:none;
    padding:2px 4px;
    font-size:10px;
    line-height:1.5;
    cursor:pointer;
    color:#dce3df;
    font-weight:800;
    border-radius:5px;
  }
  .gl-mobile-account-v242 summary::-webkit-details-marker{display:none}
  .gl-mobile-account-v242 summary:after{content:' ▾';margin-left:3px}
  .gl-mobile-account-v242[open] summary:after{content:' ▴'}
  .gl-mobile-account-v242 summary:focus-visible{outline:2px solid #f0d79b;outline-offset:3px}
  .gl-mobile-extra-links-v2512{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:120;
    display:flex;
    flex-direction:column;
    gap:0;
    width:max-content;
    min-width:150px;
    max-width:calc(100vw - 36px);
    border:1px solid #4b6656;
    border-radius:10px;
    padding:5px;
    background:#183124;
    box-shadow:0 8px 24px rgba(10,31,20,.28);
  }
  .gl-mobile-extra-links-v2512 a,
  .gl-mobile-extra-links-v2512 a:visited{
    display:block;
    min-height:34px;
    padding:8px 10px;
    color:#f1f5f2!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:700;
    border-radius:6px;
  }
  .gl-mobile-extra-links-v2512 a:hover,
  .gl-mobile-extra-links-v2512 a:focus-visible{
    background:rgba(255,255,255,.14);
  }
}
