/*
Theme Name: Astra Naver Child
Description: Child theme for Astra — clean editorial style
Author: OpenClaw Assistant
Template: astra
Version: 1.8
Text Domain: astra-naver
*/

/* Import Pretendard */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

/* ─── Design Tokens ─── */
:root {
  --brand-green: #03C75A;
  --brand-green-dark: #02914a;
  --text-primary: #111111;
  --text-secondary: #444444;
  --text-muted: #888888;
  --border-light: #e8e8e8;
  --bg-page: #f5f6f7;
  --bg-card: #ffffff;
  --sidebar-width: 240px;
  --gap: 28px;
}

/* ─── Base ─── */
*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  color: var(--text-primary);
  font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont,
    'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.8;
}

/* ─── Typography ─── */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif !important;
  line-height: 1.35;
}
p { color: #333; line-height: 1.8; margin-bottom: 1.2em; }

/* ─── Links ─── */
a { color: var(--text-primary); text-decoration: none; }
a:hover, a:focus { color: var(--brand-green); }

.main-navigation a, .ast-header-break-point a,
.site-header-primary-section a { color: var(--text-primary) !important; }
.main-navigation a:hover,
.main-navigation .menu-item:hover > a { color: var(--brand-green) !important; }

.widget-area a, #secondary a { color: var(--text-secondary) !important; }
.widget-area a:hover, #secondary a:hover { color: var(--brand-green) !important; }

.entry-title a { color: var(--text-primary) !important; text-decoration: none !important; }
.entry-title a:hover { color: var(--brand-green) !important; }

/* ─── Buttons ─── */
button, .button, .wp-block-button__link,
input[type="submit"], .ast-button {
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
  color: #fff !important;
  border-radius: 6px !important;
}

/* ─── Global Container — wider for 1920 ─── */
.ast-container,
.site,
.site-content .ast-container,
.ast-full-width-layout .ast-article-post,
.ast-full-width-layout,
.ast-plain-container {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
.ast-container {
  background: transparent;
  padding: 0 24px;
  box-shadow: none;
  box-sizing: border-box;
}

/* ─── Header ─── */
.site-header, header.site-header {
  padding: 0 !important;
  background: #ffffff;
  border-bottom: 1px solid var(--border-light);
}
/* Remove any background image leak from customizer */
body.home .site-header {
  background-image: none !important;
  background: #ffffff !important;
}
.ast-primary-header-bar {
  background-color: #ffffff !important;
  min-height: 64px !important;
}
.site-title a, .site-title {
  font-size: 1.2rem;
  color: var(--text-primary) !important;
  font-weight: 800;
}
/* Below header bar — hide "Un" artifact */
.ast-above-header-bar,
.site-above-header-wrap,
#ast-hfb-above-header { display: none !important; }
/* Below header: hide the colored divider strip */
.site-below-header-wrap,
.ast-below-header-bar { display: none !important; }
/* Any lingering header image strip */
#masthead + div[style*="background"],
.ast-hfb-below-header { display: none !important; }

/* ─── Content + Sidebar Layout ─── */
@media (min-width: 1000px) {
  .site-content .ast-container { display: flex; gap: var(--gap); align-items: flex-start; }
  /* #primary takes all space EXCEPT sidebar */
  #primary { flex: 1 1 0; min-width: 0; }
  #secondary {
    flex: 0 0 var(--sidebar-width);
    width: var(--sidebar-width);
    border-left: 1px solid var(--border-light);
    padding-left: 24px;
  }
}

/* ─── HOME: Archive Card Grid ─── */
/* Force 2-column horizontal cards */
@media (min-width: 1000px) {
  .ast-blog-layout-4-grid .ast-row,
  .ast-blog-layout-3-grid .ast-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin: 0 !important;
  }
  .ast-blog-layout-4-grid .ast-article-post,
  .ast-blog-layout-3-grid .ast-article-post {
    width: calc(50% - 10px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Card inner layout: image LEFT, text RIGHT (horizontal) */
.ast-blog-layout-4-grid .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  height: 100% !important;
  transition: box-shadow 0.18s ease, transform 0.15s ease !important;
  padding: 0 !important;
}
.ast-blog-layout-4-grid .ast-article-post:hover .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-post:hover .ast-article-inner {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px);
}

/* Thumbnail: fixed width on left */
.ast-blog-layout-4-grid .post-thumb,
.ast-blog-layout-3-grid .post-thumb {
  flex: 0 0 180px !important;
  width: 180px !important;
}
.ast-blog-layout-4-grid .post-thumb-img-content,
.ast-blog-layout-3-grid .post-thumb-img-content {
  height: 100% !important;
  min-height: 160px !important;
}
.ast-blog-layout-4-grid .post-thumb-img-content img,
.ast-blog-layout-3-grid .post-thumb-img-content img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: unset !important;
  transform: none !important;
}
.ast-blog-layout-4-grid .ast-article-post:hover .post-thumb-img-content img,
.ast-blog-layout-3-grid .ast-article-post:hover .post-thumb-img-content img {
  transform: none !important;
}

/* Post content: takes remaining space */
.ast-blog-layout-4-grid .blog-layout-4.post-content,
.ast-blog-layout-3-grid .blog-layout-4.post-content {
  flex: 1 1 auto !important;
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* No-thumbnail card: full width */
.ast-blog-layout-4-grid .ast-article-post:not(.has-post-thumbnail) .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-post:not(.has-post-thumbnail) .ast-article-inner {
  flex-direction: column !important;
}

/* ─── Card text styles ─── */
.entry-title {
  font-size: 1rem !important;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6px !important;
  margin-top: 0 !important;
}
.entry-meta, .posted-on, .byline, .ast-blog-meta-container {
  color: var(--text-muted);
  font-size: 0.75rem;
}
.cat-links a {
  background: var(--brand-green);
  color: #fff !important;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
}
.ast-blog-single-element.ast-taxonomy-container { margin-bottom: 6px; }

/* Remove padding from separate-container on archive cards */
.ast-separate-container .ast-blog-layout-4-grid .ast-article-post,
.ast-separate-container .ast-blog-layout-3-grid .ast-article-post {
  padding: 0 !important;
}

/* ─── SINGLE POST — fix narrow card layout ─── */
.ast-single-post #primary,
.single #primary,
.ast-article-single {
  max-width: 100% !important;
  width: 100% !important;
}
/* Remove card-like padding/border on single post article */
.single .ast-article-single,
.ast-separate-container .ast-article-single {
  background: var(--bg-card) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Inner article content */
.single .entry-header { padding: 28px 32px 12px !important; }
.single .entry-content {
  padding: 0 32px 32px !important;
  font-size: 1rem;
  color: #333;
  line-height: 1.85;
  max-width: 860px;
}
.single .entry-content h2 { font-size: 1.35rem; margin-top: 2em; }
.single .entry-content h3 { font-size: 1.15rem; margin-top: 1.6em; }
.single .entry-content a {
  color: var(--text-primary) !important;
  text-decoration: underline;
  text-decoration-color: #ccc;
  text-underline-offset: 2px;
}
.single .entry-content a:hover { color: var(--brand-green) !important; text-decoration-color: var(--brand-green); }
.single .entry-content img { max-width: 100%; height: auto; border-radius: 6px; }
.single .entry-content pre { background: #f4f4f5; border-radius: 6px; padding: 16px; overflow-x: auto; }
.single .entry-content blockquote {
  border-left: 3px solid var(--brand-green);
  padding: 10px 18px;
  background: #f6fdf9;
  color: #444;
  margin: 1.5em 0;
  border-radius: 0 6px 6px 0;
}
/* Post title on single */
.single .entry-title {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin-bottom: 0.3em !important;
}

/* ─── Sidebar / Widgets ─── */
.widget { margin-bottom: 32px; }
.widget-title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-light);
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li {
  padding: 5px 0;
  font-size: 0.85rem;
  color: var(--text-secondary);
  border-bottom: 1px solid #f3f3f3;
}
.widget ul li:last-child { border-bottom: none; }
.widget ul li a { color: var(--text-secondary) !important; }
.widget ul li a:hover { color: var(--brand-green) !important; }
.widget_recent_entries .post-date { font-size: 0.7rem; color: var(--text-muted); display: block; margin-top: 2px; }

/* ─── Search widget ─── */
.search-form .search-field {
  border: 1px solid var(--border-light);
  border-radius: 6px 0 0 6px;
  padding: 7px 10px;
  font-size: 0.85rem;
}
.search-form .search-submit { border-radius: 0 6px 6px 0 !important; }

/* ─── Pagination / Nav ─── */
.navigation.posts-navigation, .post-navigation {
  border-top: 1px solid var(--border-light);
  padding-top: 20px;
  margin-top: 28px;
}
.nav-links a { color: var(--text-primary) !important; font-weight: 600; }
.nav-links a:hover { color: var(--brand-green) !important; }

/* ─── Footer ─── */
.site-footer {
  text-align: center;
  padding: 24px 0;
  border-top: 1px solid var(--border-light);
  background: #ffffff;
  color: var(--text-muted);
  font-size: 0.8rem;
  margin-top: 40px;
}

/* ─── Mobile ─── */
@media (max-width: 999px) {
  .ast-container { display: block !important; padding: 0 14px; }
  #secondary {
    width: 100%; flex-basis: auto;
    border-left: none; padding-left: 0;
    border-top: 1px solid var(--border-light);
    padding-top: 20px; margin-top: 28px;
  }
  .ast-blog-layout-4-grid .ast-article-post,
  .ast-blog-layout-3-grid .ast-article-post { width: 100% !important; }
  .ast-blog-layout-4-grid .ast-article-inner,
  .ast-blog-layout-3-grid .ast-article-inner { flex-direction: column !important; }
  .ast-blog-layout-4-grid .post-thumb,
  .ast-blog-layout-3-grid .post-thumb { flex: none !important; width: 100% !important; }
  .ast-blog-layout-4-grid .post-thumb-img-content img,
  .ast-blog-layout-3-grid .post-thumb-img-content img { aspect-ratio: 16/9 !important; }
  .single .entry-header { padding: 18px 16px 8px !important; }
  .single .entry-content { padding: 0 16px 24px !important; }
}

/* ─── Accessibility ─── */
a:focus, button:focus { outline: 3px solid rgba(3,199,90,0.2); outline-offset: 3px; }

/* ─── Home card: fix tall portrait images ─── */
@media (min-width: 1000px) {
  .ast-blog-layout-4-grid .post-thumb-img-content,
  .ast-blog-layout-3-grid .post-thumb-img-content {
    height: 140px !important;
    min-height: 140px !important;
  }
  .ast-blog-layout-4-grid .post-thumb-img-content img,
  .ast-blog-layout-3-grid .post-thumb-img-content img {
    height: 140px !important;
    width: 180px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Fix meta color — author/date to muted, not green */
.entry-meta, .entry-meta *,
.ast-blog-meta-container, .ast-blog-meta-container * {
  color: var(--text-muted) !important;
  font-weight: 400 !important;
}
.entry-meta a, .ast-blog-meta-container a {
  color: var(--text-muted) !important;
}
.entry-meta a:hover, .ast-blog-meta-container a:hover {
  color: var(--brand-green) !important;
}
/* Single post: author name can be slightly visible */
.single .entry-meta, .single .entry-meta * {
  color: #888 !important;
}

/* ─── Card inner padding ─── */
/* Text area: more generous padding */
.ast-blog-layout-4-grid .blog-layout-4.post-content,
.ast-blog-layout-3-grid .blog-layout-4.post-content {
  padding: 20px 22px 18px !important;
  gap: 6px !important;
}
/* Card outer: slight inner spacing so content feels spacious */
.ast-blog-layout-4-grid .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-inner {
  min-height: 140px !important;
}
/* Prevent excerpt/title from being cut off */
.ast-blog-layout-4-grid .ast-article-post,
.ast-blog-layout-3-grid .ast-article-post {
  overflow: visible !important;
}
.ast-blog-layout-4-grid .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-inner {
  overflow: hidden !important;
}

/* ─── Search widget submit button — neutral gray ─── */
.search-form .search-submit,
.widget .search-form .search-submit,
#secondary .search-form .search-submit,
.widget_search .search-submit {
  background-color: #888 !important;
  border-color: #888 !important;
  color: #fff !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 7px 12px !important;
}
.search-form .search-submit:hover,
.widget .search-form .search-submit:hover {
  background-color: #555 !important;
  border-color: #555 !important;
}

/* ─── Image-text gap inside card ─── */
@media (min-width: 1000px) {
  /* Add right margin to thumbnail so text doesn't stick */
  .ast-blog-layout-4-grid .ast-blog-featured-section.post-thumb,
  .ast-blog-layout-3-grid .ast-blog-featured-section.post-thumb {
    flex: 0 0 180px !important;
    width: 180px !important;
    margin-right: 0 !important; /* gap comes from text padding */
  }
  /* Text content gets left padding for breathing room */
  .ast-blog-layout-4-grid .blog-layout-4.post-content,
  .ast-blog-layout-3-grid .blog-layout-4.post-content {
    padding: 18px 20px 18px 20px !important;
  }
}

/* Card with no thumbnail: column layout, padding all sides */
.ast-blog-layout-4-grid .ast-article-post:not(.has-post-thumbnail) .blog-layout-4.post-content,
.ast-blog-layout-3-grid .ast-article-post:not(.has-post-thumbnail) .blog-layout-4.post-content {
  padding: 20px !important;
}

/* ═══════════════════════════════════════════
   v1.6 CARD & SEARCH FIX
   ═══════════════════════════════════════════ */

/* ─── 1. Search form: field + button side-by-side ─── */
.widget_search .search-form,
#secondary .search-form,
.widget .search-form {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
}
.widget_search .search-form .search-field,
#secondary .search-form .search-field,
.widget .search-form .search-field {
  flex: 1 1 auto !important;
  width: auto !important;
  border-radius: 6px 0 0 6px !important;
  border-right: none !important;
  height: 36px !important;
  padding: 6px 10px !important;
  font-size: 0.85rem !important;
  box-shadow: none !important;
}
.widget_search .search-form .search-submit,
#secondary .search-form .search-submit,
.widget .search-form .search-submit {
  flex: 0 0 auto !important;
  height: 36px !important;
  width: auto !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 0 14px !important;
  background-color: #999 !important;
  border-color: #999 !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  box-shadow: none !important;
  position: static !important;
  top: auto !important; right: auto !important;
}
.widget_search .search-form .search-submit:hover,
#secondary .search-form .search-submit:hover {
  background-color: #666 !important;
  border-color: #666 !important;
}

/* ─── 2 & 3. Card layout: VERTICAL + inner padding all-sides ─── */
/* Reset horizontal layout forced in earlier rules */
.ast-blog-layout-4-grid .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: 14px !important;           /* ← 상하좌우 안쪽 여백 */
  background: var(--bg-card) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  height: 100% !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.18s ease, transform 0.15s ease !important;
}
.ast-blog-layout-4-grid .ast-article-post:hover .ast-article-inner,
.ast-blog-layout-3-grid .ast-article-post:hover .ast-article-inner {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

/* Image: full-width inside padded card, 16:9 ratio */
.ast-blog-layout-4-grid .ast-blog-featured-section.post-thumb,
.ast-blog-layout-3-grid .ast-blog-featured-section.post-thumb {
  flex: none !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}
.ast-blog-layout-4-grid .post-thumb-img-content,
.ast-blog-layout-3-grid .post-thumb-img-content {
  height: auto !important;
  min-height: unset !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.ast-blog-layout-4-grid .post-thumb-img-content img,
.ast-blog-layout-3-grid .post-thumb-img-content img {
  width: 100% !important;
  height: auto !important;
  max-height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: 16/9 !important;
  transform: none !important;
  border-radius: 6px !important;
}
.ast-blog-layout-4-grid .ast-article-post:hover .post-thumb-img-content img,
.ast-blog-layout-3-grid .ast-article-post:hover .post-thumb-img-content img {
  transform: none !important;
}

/* Cancel Astra's negative-margin bleed (remove-featured-img-padding) */
.ast-blog-layout-4-grid .ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section .post-thumb-img-content,
.ast-blog-layout-3-grid .ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section .post-thumb-img-content {
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Post content area inside card: no extra padding (outer card has it) */
.ast-blog-layout-4-grid .blog-layout-4.post-content,
.ast-blog-layout-3-grid .blog-layout-4.post-content {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  flex: 1 !important;
}

/* Separate-container: cancel Astra's own 3em card padding */
.ast-separate-container .ast-blog-layout-4-grid .ast-article-post,
.ast-separate-container .ast-blog-layout-3-grid .ast-article-post {
  padding: 0 !important;
}

/* ═══════════════════════════════════════════
   v1.7 SEARCH + MOBILE HEADER FIX
   ═══════════════════════════════════════════ */

/* ─── Search widget: proper inline layout ─── */
/* Astra sets input width:100% globally — must override with !important */
#secondary .widget_search .search-form,
.widget_search .search-form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 0 !important;
}
#secondary .widget_search .search-form .search-field,
.widget_search .search-form .search-field {
  flex: 1 1 auto !important;
  width: auto !important;          /* cancel Astra's width:100% */
  min-width: 0 !important;
  height: 38px !important;
  padding: 7px 10px !important;
  font-size: 0.85rem !important;
  border-radius: 6px 0 0 6px !important;
  border: 1px solid #ddd !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
  position: static !important;
}
#secondary .widget_search .search-form .search-submit,
.widget_search .search-form .search-submit {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  background: #888 !important;
  border: 1px solid #888 !important;
  border-radius: 0 6px 6px 0 !important;
  color: #fff !important;
  font-size: 0 !important;          /* hide text, show icon only */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  position: static !important;      /* cancel any absolute positioning */
  top: auto !important;
  right: auto !important;
  box-shadow: none !important;
}
#secondary .widget_search .search-form .search-submit:hover,
.widget_search .search-form .search-submit:hover {
  background: #555 !important;
  border-color: #555 !important;
}
/* Show the SVG icon inside button at correct size */
#secondary .widget_search .search-submit svg,
.widget_search .search-submit svg,
#secondary .widget_search .search-submit .ast-icon svg,
.widget_search .search-submit .ast-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #fff !important;
  display: block !important;
}

/* ─── Mobile header: keep logo + title on one line ─── */
@media (max-width: 921px) {
  .site-branding,
  .ast-site-identity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  .site-branding .custom-logo-link,
  .ast-site-identity .custom-logo-link {
    flex: 0 0 auto !important;
  }
  .site-branding .site-title,
  .ast-site-identity .site-title {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1rem !important;
    margin: 0 !important;
  }
}

/* ═══════════════════════════════════════════
   v1.8 SEARCH DEFINITIVE FIX
   ═══════════════════════════════════════════ */

/* The actual structure: label wraps input + button */
.widget_search .search-form label,
#secondary .widget_search .search-form label {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 0 !important;
}

/* Input: cancel Astra's forced width:100% */
.widget_search .search-form .search-field,
#secondary .widget_search .search-form .search-field {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 6px 10px !important;
  font-size: 0.85rem !important;
  border: 1px solid #ddd !important;
  border-right: none !important;
  border-radius: 6px 0 0 6px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Button: fixed square, right side */
.widget_search .search-form .ast-search-submit,
#secondary .widget_search .search-form .ast-search-submit {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #888 !important;
  border: 1px solid #888 !important;
  border-radius: 0 6px 6px 0 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  /* Cancel Astra's large padding */
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  min-height: unset !important;
  line-height: 1 !important;
}
.widget_search .search-form .ast-search-submit:hover,
#secondary .widget_search .search-form .ast-search-submit:hover {
  background: #555 !important;
  border-color: #555 !important;
}
/* SVG icon size */
.widget_search .search-form .ast-search-submit svg,
#secondary .widget_search .search-form .ast-search-submit svg {
  width: 16px !important;
  height: 16px !important;
  fill: #fff !important;
}

/* Hide the redundant text submit input (there are two submits) */
.widget_search .search-form input[type="submit"].search-submit,
#secondary .widget_search .search-form input[type="submit"].search-submit {
  display: none !important;
}

/* ═══════════════════════════════════════════
   v1.8 CUSTOM 404 PAGE
   ═══════════════════════════════════════════ */

.danbam-404 {
  text-align: center !important;
  padding: 60px 24px !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

.danbam-404 .page-title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin-bottom: 16px !important;
}

.danbam-404 .page-sub-title {
  font-size: 0.95rem !important;
  color: var(--text-muted) !important;
  line-height: 1.7 !important;
  margin-bottom: 32px !important;
}

.danbam-404 .ast-404-action {
  margin-top: 8px !important;
}

.danbam-404 .ast-404-home-btn {
  display: inline-block !important;
  background: var(--brand-green) !important;
  color: #fff !important;
  padding: 10px 28px !important;
  border-radius: 8px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}

.danbam-404 .ast-404-home-btn:hover {
  background: var(--brand-green-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}

/* Desktop: Compact pill button, sized to text */
.menu-login-btn .menu-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--brand-green) !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 3px 16px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  margin-left: 8px !important;
  white-space: nowrap !important;
  /* Override Astra's default menu link height/alignment */
  height: auto !important;
  min-height: unset !important;
  align-self: center !important;
}

.menu-login-btn .menu-link:hover {
  background: var(--brand-green-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}

/* Logged-in: subtle outline variant (compact, matches logged-out size) */
.menu-login-btn.logged-in .menu-link {
  background: transparent !important;
  color: var(--text-secondary) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 20px !important;
  padding: 2px 14px !important;
  font-size: 0.78rem !important;
  line-height: 1.6 !important;
  height: auto !important;
  min-height: unset !important;
  align-self: center !important;
}

.menu-login-btn.logged-in .menu-link:hover {
  background: #f5f5f5 !important;
  color: var(--text-primary) !important;
  border-color: #ccc !important;
}

/* Mobile: full-width tap target */
@media (max-width: 999px) {
  .menu-login-btn .menu-link {
    display: block !important;
    text-align: center !important;
    border-radius: 6px !important;
    margin: 8px 16px !important;
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
  }

  .menu-login-btn.logged-in .menu-link {
    padding: 9px 20px !important;
  }
}
