/* ============================================================================
   Onlineglish / Bastak — content & forms design layer
   Single-post reading, blog refinement, sidebars, comments, global form fields.
   ========================================================================== */

/* ---- Global form controls (baseline; element-level so Elementor still wins) */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="search"], input[type="url"], input[type="date"],
textarea, select{
  border:1.5px solid rgba(16,40,32,.14);
  border-radius:12px;
  padding:11px 14px;
  background:#fff;
  transition:border-color .25s var(--og-ease), box-shadow .25s var(--og-ease);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus,
input[type="url"]:focus, textarea:focus, select:focus{
  border-color:var(--og-emerald);
  box-shadow:0 0 0 4px rgba(0,86,63,.12);
  outline:none;
}

/* ---- Single post: a calm, premium reading experience -------------------- */
.single-post .entry-title, .single .post-title, .single-post .post-title{
  font-weight:800; letter-spacing:-.01em; line-height:1.6;
}
.single-post .wp-post-image, .single .post-thumbnail img,
.single-post article img.wp-post-image{
  border-radius:20px; box-shadow:var(--og-shadow-2);
}

/* content typography — scope to common single-post content wrappers */
.single .entry-content, .single-post .entry-content,
.single .post-content, .single-post .post-content,
.single-content, .single .single-content{
  line-height:2.15;
  font-size:1.04rem;
  color:#2b3a34;
}
.single .entry-content > p, .single-post .entry-content > p,
.single .post-content p, .single-content p{ margin:0 0 1.25em; }
.single .entry-content h2, .single-post .entry-content h2,
.single .post-content h2, .single-content h2{
  position:relative; font-weight:800; margin:1.8em 0 .7em; padding-inline-start:16px; line-height:1.7;
}
.single .entry-content h2::before, .single-post .entry-content h2::before,
.single .post-content h2::before, .single-content h2::before{
  content:""; position:absolute; inset-inline-start:0; top:.18em; bottom:.18em;
  width:5px; border-radius:6px; background:linear-gradient(var(--og-emerald),var(--og-gold-deep));
}
.single .entry-content h3, .single-post .entry-content h3,
.single-content h3{ font-weight:700; margin:1.5em 0 .6em; color:var(--og-emerald-700); }
.single .entry-content a, .single-post .entry-content a, .single-content a{
  color:var(--og-emerald); text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:rgba(0,86,63,.35); transition:text-decoration-color .2s var(--og-ease);
}
.single .entry-content a:hover, .single-content a:hover{ text-decoration-color:var(--og-gold-deep); }
.single .entry-content img, .single-content img{ border-radius:16px; }
.single .entry-content ul, .single .entry-content ol,
.single-content ul, .single-content ol{ padding-inline-start:1.4em; margin:0 0 1.25em; }
.single .entry-content li, .single-content li{ margin:.45em 0; }
.single .entry-content blockquote, .single-content blockquote{
  background:linear-gradient(180deg,rgba(0,86,63,.05),rgba(240,227,178,.12));
  border-inline-start:5px solid var(--og-emerald);
  border-radius:0 14px 14px 0; padding:16px 20px; margin:1.5em 0; font-weight:600;
}
.single .entry-content table, .single-content table{
  border-radius:12px; overflow:hidden; box-shadow:var(--og-shadow-1); width:100%;
}
.single .entry-content table th, .single-content table th{ background:var(--og-emerald); color:#fff; }

/* ---- Sidebar widgets / table of contents → cards ----------------------- */
.single .widget, .single-post .widget, .sidebar .widget,
.lwptoc, .ez-toc-container, #toc_container{
  background:#fff; border:1px solid rgba(16,40,32,.08);
  border-radius:16px; padding:18px; box-shadow:var(--og-shadow-1); margin-bottom:22px;
}
.lwptoc_header, .ez-toc-title-container, #toc_container .toc_title{ font-weight:800 !important; }
.lwptoc a, .ez-toc-list a, #toc_container a{ transition:color .2s var(--og-ease); }
.lwptoc a:hover, .ez-toc-list a:hover, #toc_container a:hover{ color:var(--og-emerald) !important; }

/* ---- Blog archive cards: refine meta + read-more ----------------------- */
.article-box .article-meta, .article-item .article-date,
.blog .post-date, .archive .post-date{ color:#8a958f; font-size:.85rem; }
.article-box a.read-more, .article-item a.more-link,
.read-more-link, a.more-link{
  display:inline-flex; align-items:center; gap:6px; font-weight:700;
  color:var(--og-emerald) !important; transition:gap .25s var(--og-ease);
}
.article-box a.read-more:hover, a.more-link:hover{ gap:12px; }

/* ---- Comments ---------------------------------------------------------- */
.comment-form, .comments-area .comment-respond{
  background:#fff; border:1px solid rgba(16,40,32,.08);
  border-radius:18px; padding:22px; box-shadow:var(--og-shadow-1);
}
.comment-list .comment-body{
  background:#fff; border:1px solid rgba(16,40,32,.07);
  border-radius:14px; padding:16px 18px; margin-bottom:16px;
}
.comment-form .submit, .comments-area input#submit{
  background:linear-gradient(180deg,var(--og-emerald-600),var(--og-emerald)) !important;
  color:#fff !important; border:none !important; border-radius:12px !important; font-weight:700 !important;
}

/* ---- Search results ---------------------------------------------------- */
.search-results .post, .search article{
  background:#fff; border:1px solid rgba(16,40,32,.08);
  border-radius:16px; padding:20px; box-shadow:var(--og-shadow-1); margin-bottom:18px;
}

/* ---- 404 --------------------------------------------------------------- */
.error404 .page-title{ font-weight:800; color:var(--og-emerald); }
