/* Supplementary theme styles. Primary styles live in style.css */
.cp-loop-item .entry-summary { color: var(--cp-muted); }
.comment-list { list-style: none; padding: 0; }
.search-form { display: flex; gap: .5rem; max-width: 420px; margin: 1rem auto; }
.search-form input[type="search"] { flex: 1; padding: .7rem 1rem; border: 1px solid var(--cp-line); border-radius: 10px; }
.search-form button { padding: .7rem 1.2rem; border: 0; border-radius: 10px; background: var(--cp-accent); color: #fff; cursor: pointer; }

/* v2.28.1 Header account link + menu icons */
.cp-header__account {
	display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap;
	padding: .42rem .95rem; border-radius: 999px; text-decoration: none;
	font-weight: 600; font-size: .92rem;
	background: var(--cp-accent, #4f46e5); color: #fff !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.cp-header__account:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(79,70,229,.35); }
.cp-menu-ico { margin-right: .1em; font-size: 1.02em; }
@media (max-width: 782px) { .cp-header__account span { display: none; } .cp-header__account { padding: .42rem .6rem; } }
.cp-dark .cp-header__account { background: var(--cp-accent, #6366f1); }

/* ==========================================================================
   v2.28.5 Submenu dropdowns
   ========================================================================== */
.main-nav ul { list-style: none; }
.main-nav li.menu-item-has-children { position: relative; }
.main-nav .menu-item-has-children > a::after {
	content: "▾"; font-size: .7em; margin-left: .35em; opacity: .65; display: inline-block;
	transition: transform .2s ease;
}

@media (min-width: 783px) {
	.main-nav .sub-menu {
		position: absolute; top: calc(100% + 6px); left: 0; z-index: 1200;
		min-width: 230px; margin: 0; padding: .45rem;
		background: #fff; border: 1px solid var(--cp-line, #e2e8f0); border-radius: 12px;
		box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
		opacity: 0; visibility: hidden; transform: translateY(8px);
		transition: opacity .18s ease, transform .18s ease, visibility .18s;
	}
	/* invisible bridge so the pointer can cross the 6px gap */
	.main-nav .sub-menu::before { content: ""; position: absolute; top: -8px; left: 0; right: 0; height: 8px; }
	.main-nav li:hover > .sub-menu,
	.main-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
	.main-nav li:hover > a::after { transform: rotate(180deg); }
	.main-nav .sub-menu li { width: 100%; }
	.main-nav .sub-menu a {
		display: block; padding: .5rem .8rem; border-radius: 8px;
		white-space: nowrap; font-size: .95rem; color: var(--cp-ink, #0f172a);
	}
	.main-nav .sub-menu a:hover { background: var(--cp-bg-soft, #f1f5f9); color: var(--cp-accent, #4f46e5); }
	/* third level opens to the side */
	.main-nav .sub-menu .sub-menu { top: -0.45rem; left: 100%; margin-left: 6px; }
	.main-nav .sub-menu .menu-item-has-children > a::after { content: "▸"; float: right; margin-top: .2em; }
	/* keep dropdowns visible even if a parent tries to clip */
	.site-header, .site-header__inner, .main-nav { overflow: visible; }
	.cp-sub-toggle { display: none; }
}

@media (max-width: 782px) {
	.main-nav .sub-menu { display: none; padding-left: 1rem; }
	.main-nav li.is-sub-open > .sub-menu { display: block; }
	.main-nav .menu-item-has-children > a::after { content: none; }
	.cp-sub-toggle {
		background: transparent; border: 0; cursor: pointer; padding: .3rem .6rem;
		font-size: 1rem; color: inherit; line-height: 1; float: right;
	}
	.main-nav li.is-sub-open > .cp-sub-toggle { transform: rotate(180deg); }
}

/* dark mode */
.cp-dark .main-nav .sub-menu { background: #131b2a; border-color: var(--cp-line); box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.cp-dark .main-nav .sub-menu a { color: var(--cp-ink); }
.cp-dark .main-nav .sub-menu a:hover { background: #1b2436; }
