/* ---------------------------------------------------------------
   Additions on top of the original template
   --------------------------------------------------------------- */

/* Hero background overlay strength is set in Admin → Photos */
.card-inner.card-started .slide:after { opacity: var(--overlay, .4); }
.card-inner.card-started .title { word-break: break-word; }

.hero-actions { margin-top: 40px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; z-index: 3; }
.hero-btn {
	display: inline-flex; align-items: center; gap: 8px;
	height: 48px; padding: 0 26px; border-radius: 30px;
	font-size: 14px; font-weight: 600; color: #fff !important;
	border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.15);
	transition: all .3s ease;
}
.hero-btn:hover { border-color: var(--extra-color); background: rgba(0,0,0,.35); }
.hero-btn.primary { background: var(--extra-color); border-color: var(--extra-color); }
.hero-btn.primary:hover { filter: brightness(1.1); background: var(--extra-color); }

/* Form controls */
.group-val select {
	display: block; width: 100%; height: 60px; padding: 0;
	font-family: 'Poppins', sans-serif; font-size: 14px; color: #fff;
	background: transparent; border: none; border-bottom: 1px solid #777;
	-webkit-appearance: none; appearance: none; border-radius: 0; outline: 0; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%);
	background-position: calc(100% - 12px) 28px, calc(100% - 7px) 28px;
	background-size: 5px 5px; background-repeat: no-repeat;
}
.group-val select:focus { border-bottom-color: #fff; }
.group-val select option { background: #222; color: #fff; }
.group-val select:invalid, .group-val select.placeholder { color: #777; }

.btn-reset.button {
	display: inline-block; width: auto; height: 56px; line-height: 56px;
	padding: 0; border: 0 !important; background: none;
	font-weight: 700; color: #fff; cursor: pointer; text-align: left;
}
.btn-reset.button[disabled] { opacity: .5; cursor: wait; }
.form-error { display: none; color: #ff6b6b; font-size: 14px; padding: 10px 0 0; }
.form-error.show { display: block; }
input.error, textarea.error { border-bottom-color: #ff6b6b !important; }

/* Honeypot (hidden from humans) */
.hp-field { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Map */
.map .map-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) invert(.92) contrast(.9); }

/* Ventures */
.venture-badge {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	padding: 4px 12px; border-radius: 20px; font-size: 11px; line-height: 18px; font-weight: 600;
	color: #fff; background: var(--extra-color); letter-spacing: .03em; text-transform: uppercase;
}
.venture-popup {
	position: relative; max-width: 720px; margin: 40px auto; background: #1e1e1e;
	border-radius: 18px; overflow: hidden; color: #a9a9a9;
}
.venture-popup img { display: block; width: 100%; max-height: 380px; object-fit: cover; }
.venture-popup-body { padding: 30px 34px 36px; }
.venture-popup h3 { margin: 10px 0 10px; font-size: 26px; line-height: 1.25; color: #fff; font-weight: 700; }
.venture-popup .lead { font-size: 17px; color: #ddd; font-weight: 300; }
.venture-popup .venture-desc { font-size: 15px; line-height: 1.75; margin-bottom: 26px; }
.venture-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.venture-meta span { font-size: 12px; padding: 3px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,.15); color: #ccc; }
.venture-popups { display: none; }
.mfp-inline-holder .mfp-content { width: 92%; max-width: 720px; }
.venture-popup .mfp-close { color: #fff; background: rgba(0,0,0,.45); border-radius: 50%; width: 40px; height: 40px; line-height: 40px; right: 12px; top: 12px; opacity: 1; }

.partner-text { display: block; height: 72px; line-height: 72px; font-size: 18px; font-weight: 700; color: #fff; opacity: .6; }

.empty-note { color: #777; font-size: 15px; padding: 20px 0; }

/* Blog article */
.back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #a9a9a9; margin-bottom: 18px; }
.back-link:hover { color: var(--extra-color); }
.preview-banner { margin-bottom: 18px; padding: 12px 16px; border-radius: 10px; background: rgba(255, 193, 7, .12); color: #ffc107; font-size: 14px; }
.rich-content { color: #a9a9a9; font-size: 15px; line-height: 1.8; }
.rich-content p { margin: 0 0 20px; }
.rich-content h1, .rich-content h2, .rich-content h3, .rich-content h4 { color: #fff; font-weight: 700; margin: 30px 0 12px; line-height: 1.3; }
.rich-content h1 { font-size: 26px; } .rich-content h2 { font-size: 22px; } .rich-content h3 { font-size: 18px; } .rich-content h4 { font-size: 16px; }
.rich-content a { color: var(--extra-color); text-decoration: underline; }
.rich-content strong, .rich-content b { color: #fff; }
.rich-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 10px 0 20px; }
.rich-content ul, .rich-content ol { margin: 0 0 20px 0; padding-left: 22px; }
.rich-content ul li { list-style: disc; margin: 6px 0; color: #ddd; }
.rich-content ol li { list-style: decimal; margin: 6px 0; color: #ddd; }
.rich-content ol li[data-list="bullet"] { list-style: disc; }
.rich-content blockquote { margin: 25px 0; padding-left: 20px; border-left: 2px solid var(--extra-color); font-style: italic; font-size: 17px; color: #ccc; font-weight: 300; }
.rich-content pre, .rich-content code { background: rgba(255,255,255,.06); border-radius: 6px; font-size: 13px; }
.rich-content pre { padding: 14px 16px; overflow-x: auto; margin: 0 0 20px; white-space: pre-wrap; }
.rich-content code { padding: 2px 6px; }
.rich-content iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 12px; margin: 10px 0 20px; }
.rich-content .ql-align-center { text-align: center; } .rich-content .ql-align-right { text-align: right; }
.rich-content .ql-size-large { font-size: 1.3em; } .rich-content .ql-size-small { font-size: .85em; } .rich-content .ql-size-huge { font-size: 1.8em; }
.rich-content hr { border: 0; border-top: 1px solid rgba(255,255,255,.1); margin: 30px 0; }

.post-tags { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px; }
.post-tags span { font-size: 12px; padding: 3px 12px; border-radius: 20px; background: rgba(255,255,255,.06); color: #ccc; }
.post-share { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; gap: 10px; font-size: 13px; }
.post-share a { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.06); color: #fff; font-size: 18px; }
.post-share a:hover { background: var(--extra-color); }
.post-nav { display: flex; justify-content: space-between; gap: 16px; margin: -40px 0 60px; }
.post-nav a { flex: 1; max-width: 48%; padding: 16px 20px; border-radius: 14px; background: rgba(255,255,255,.04); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.4; }
.post-nav a small { display: block; color: #777; font-weight: 400; font-size: 12px; margin-bottom: 4px; }
.post-nav a.next { text-align: right; margin-left: auto; }
.post-nav a:hover { background: rgba(255,255,255,.08); }

.comment-avatar {
	float: left; width: 54px; height: 54px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--extra-color); color: #fff; font-weight: 700; font-size: 20px;
}

/* Floating admin shortcut (only visible to the logged-in owner) */
.admin-fab {
	position: fixed; right: 18px; bottom: 18px; z-index: 999;
	padding: 10px 16px; border-radius: 30px; background: #fff; color: #181818 !important;
	font-size: 13px; font-weight: 600; box-shadow: 0 6px 24px rgba(0,0,0,.35);
	display: inline-flex; align-items: center; gap: 6px;
}
.admin-fab i { font-size: 17px; }

@media (max-width: 560px) {
	.hero-actions { margin-top: 28px; }
	.hero-btn { height: 44px; padding: 0 20px; font-size: 13px; }
	.venture-popup-body { padding: 22px 20px 26px; }
	.post-nav { flex-direction: column; }
	.post-nav a { max-width: 100%; }
}

.venture-filters { display: flex; flex-wrap: wrap; justify-content: flex-start; row-gap: 6px; margin-top: 18px; }
.venture-filters .f_btn { margin-left: 0 !important; margin-right: 22px !important; }
