/* KeralaTrekking Photo Submission. Everything is scoped under .ktps */
.ktps {
	--ktps-yellow: #FFC107;      /* change to the exact brand yellow if different */
	--ktps-yellow-dark: #E0A800;
	--ktps-ink: #1C231F;
	--ktps-ink-soft: #3d4640;
	--ktps-green: #2E7D32;
	--ktps-paper: #FFFFFF;
	--ktps-mist: #F3F6F4;
	--ktps-line: #D9DFDB;
	--ktps-radius: 6px;
	color: var(--ktps-ink);
	font-family: inherit;
	font-size: 17px;
	line-height: 1.65;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	background: var(--ktps-paper);
}
body.ktps-page { overflow-x: clip; }
/* Gowilds: hide the theme's title banner and its H1 so the hero is the only H1 on this page */
body.ktps-page .custom-breadcrumb,
body.ktps-page .single-content-inner h1.title { display: none; }
body.ktps-page .single-content-inner { padding-top: 0; padding-bottom: 0; max-width: none; }
body.ktps-page .single-content-inner > .row > .col-12 { padding-left: 0; padding-right: 0; }
.ktps *, .ktps *::before, .ktps *::after { box-sizing: border-box; }
.ktps h1, .ktps h2, .ktps h3 { color: var(--ktps-ink); line-height: 1.15; margin: 0 0 .5em; font-weight: 700; letter-spacing: -0.01em; }
.ktps h2 { font-size: clamp(1.75rem, 3.4vw, 2.6rem); }
.ktps h3 { font-size: 1.15rem; }
.ktps p { margin: 0 0 1em; }
.ktps a { color: inherit; }
.ktps :focus-visible { outline: 3px solid var(--ktps-ink); outline-offset: 3px; }

.ktps-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.ktps-narrow { max-width: 820px; }
.ktps-center { text-align: center; }
.ktps-section { padding: clamp(56px, 9vw, 112px) 0; }
.ktps-head { max-width: 680px; margin-bottom: 40px; }
.ktps-head p { color: var(--ktps-ink-soft); font-size: 1.1rem; }

/* Button */
.ktps-btn {
	display: inline-block; background: var(--ktps-yellow); color: var(--ktps-ink) !important;
	font-weight: 700; font-size: 1rem; text-decoration: none; padding: 16px 32px;
	border-radius: var(--ktps-radius); border: 0; cursor: pointer; transition: background .2s, transform .2s;
	min-height: 52px; line-height: 1.2;
}
.ktps-btn:hover { background: var(--ktps-yellow-dark); }
.ktps-btn:active { transform: translateY(1px); }

/* Hero */
.ktps-hero { position: relative; min-height: min(88vh, 760px); display: flex; align-items: flex-end; color: #fff; background: var(--ktps-ink); overflow: hidden; }
.ktps-hero__media, .ktps-hero__media img, .ktps-hero__media .ktps-ph { position: absolute; inset: 0; width: 100%; height: 100%; }
.ktps-hero__media img { object-fit: cover; object-position: center; }
.ktps-hero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,18,16,.82) 0%, rgba(14,18,16,.45) 45%, rgba(14,18,16,.25) 100%); }
.ktps-hero__inner { position: relative; padding-top: 120px; padding-bottom: clamp(48px, 8vw, 96px); }
.ktps-hero h1 { color: #fff; font-size: clamp(2rem, 6vw, 4rem); max-width: 16em; margin-bottom: .4em; }
.ktps-eyebrow { color: var(--ktps-yellow); text-transform: uppercase; letter-spacing: .14em; font-weight: 700; font-size: .85rem; margin-bottom: 1em; }
.ktps-lead { font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 36em; color: #f1f1f1; }
.ktps-deadline { color: #fff; margin-bottom: 1.6em; }
.ktps-deadline strong { color: var(--ktps-yellow); }
.ktps-closed-note { background: var(--ktps-mist); color: var(--ktps-ink); padding: 16px 20px; border-radius: var(--ktps-radius); display: inline-block; }

/* Placeholder when no photo is assigned (admins only see this while setting up) */
.ktps-ph { display: flex; align-items: center; justify-content: center; background: #2b332e; color: #aab3ad; font-size: .9rem; text-align: center; padding: 12px; aspect-ratio: 4 / 3; }

/* Intro */
.ktps-intro { background: var(--ktps-paper); }
.ktps-kicker { color: var(--ktps-green); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; }

/* Category grid */
.ktps-cats { background: var(--ktps-mist); }
.ktps-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
.ktps-card { position: relative; margin: 0; overflow: hidden; border-radius: var(--ktps-radius); background: var(--ktps-ink); aspect-ratio: 4 / 5; }
.ktps-card img, .ktps-card .ktps-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; transition: transform .6s ease; }
.ktps-card:hover img { transform: scale(1.03); }
.ktps-card__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 16px 16px; color: #fff; background: linear-gradient(to top, rgba(14,18,16,.85), rgba(14,18,16,0)); }
.ktps-card__text h3 { color: #fff; margin: 0 0 .15em; font-size: 1rem; }
.ktps-card__text p { margin: 0; font-size: .85rem; color: #e6e9e7; display: none; }
@media (min-width: 640px) { .ktps-card__text p { display: block; } .ktps-card__text h3 { font-size: 1.15rem; } .ktps-card__text { padding: 64px 22px 22px; } }
@media (min-width: 900px) { .ktps-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } .ktps-card { aspect-ratio: 3 / 4; } }
@media (prefers-reduced-motion: reduce) { .ktps-card img { transition: none; } .ktps-card:hover img { transform: none; } }

/* Recognition */
.ktps-split { display: grid; gap: 32px; }
@media (min-width: 900px) { .ktps-split { grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; } }
.ktps-label { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--ktps-green); }
.ktps-list { margin: 0 0 1.2em; padding: 0; list-style: none; }
.ktps-list li { padding: 12px 0 12px 22px; border-bottom: 1px solid var(--ktps-line); position: relative; }
.ktps-list li::before { content: ""; position: absolute; left: 0; top: 1.25em; width: 8px; height: 8px; background: var(--ktps-yellow); border-radius: 50%; }
.ktps-note { border-left: 3px solid var(--ktps-yellow); padding-left: 16px; color: var(--ktps-ink-soft); }

/* Form section */
.ktps-formsec { background: var(--ktps-ink); color: #fff; }
.ktps-formsec .ktps-head h2 { color: #fff; }
.ktps-formsec .ktps-head p { color: #d6dcd8; }
.ktps-formwrap { max-width: 860px; }
.ktps-formbox { background: #fff; color: var(--ktps-ink); border-radius: 10px; padding: clamp(20px, 4vw, 44px); }
.ktps-admin-note { background: #fff3cd; padding: 12px 16px; border-radius: var(--ktps-radius); }

/* Fluent Forms skin (scoped) */
.ktps .frm-fluent-form .ff-el-group { margin-bottom: 20px; }
.ktps .frm-fluent-form label { color: var(--ktps-ink); font-weight: 600; font-size: .95rem; }
.ktps .frm-fluent-form .ff-el-is-required.asterisk-right label::after,
.ktps .frm-fluent-form .ff-el-is-required.asterisk-left label::before { color: #B3261E; }
.ktps .frm-fluent-form .ff-el-form-control {
	background: #fff; color: var(--ktps-ink); border: 1.5px solid #8b958f; border-radius: var(--ktps-radius);
	padding: 13px 14px; font-size: 16px; /* 16px stops iOS zoom */ min-height: 50px; box-shadow: none; width: 100%;
}
.ktps .frm-fluent-form textarea.ff-el-form-control { min-height: 120px; }
.ktps .frm-fluent-form .ff-el-form-control:focus { border-color: var(--ktps-ink); outline: 3px solid var(--ktps-yellow); outline-offset: 0; box-shadow: none; }
.ktps .frm-fluent-form .ff-el-help-message, .ktps .frm-fluent-form .ff-el-help-message * { color: #4a554e; font-size: .85rem; }
.ktps .frm-fluent-form .ff-el-is-error .ff-el-form-control { border-color: #B3261E; }
.ktps .frm-fluent-form .error.text-danger, .ktps .frm-fluent-form .ff-el-is-error .text-danger { color: #B3261E; font-size: .88rem; font-weight: 600; }
.ktps .frm-fluent-form h3 { font-size: 1.25rem; margin: 32px 0 14px; padding-top: 24px; border-top: 1px solid var(--ktps-line); }
.ktps .frm-fluent-form .ff-t-container:first-child h3, .ktps .frm-fluent-form > fieldset > .ff-el-group:first-child h3 { border-top: 0; padding-top: 0; margin-top: 0; }
.ktps .frm-fluent-form .ff-el-section-break { margin: 36px 0 18px; padding-top: 24px; border-top: 1px solid var(--ktps-line); }
.ktps .frm-fluent-form .ff-el-section-break h3 { font-size: 1.25rem; margin: 0 0 .2em; }
.ktps .frm-fluent-form .ff-el-section-break div { color: #4a554e; }
.ktps .frm-fluent-form .ff-el-form-check label { font-weight: 400; line-height: 1.5; }
.ktps .frm-fluent-form .ff-el-form-check-input { accent-color: var(--ktps-ink); width: 20px; height: 20px; margin-top: 2px; }
.ktps .frm-fluent-form .ff_file_upload_holder { display: block; width: 100%; }
.ktps .frm-fluent-form .ff_file_upload_holder .ff_upload_btn,
.ktps .frm-fluent-form .ff_file_upload_holder .ff-btn,
.ktps .frm-fluent-form .ff_file_upload_holder .ff-btn-secondary,
.ktps .frm-fluent-form .ff_upload_btn, .ktps .frm-fluent-form .ff-upload-btn {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 84px; padding: 18px 16px; box-sizing: border-box;
	background: #fffbe8; color: var(--ktps-ink); border: 2px dashed var(--ktps-yellow-dark); border-radius: var(--ktps-radius);
	font-size: 1rem; font-weight: 600; line-height: 1.3; text-align: center; box-shadow: none; cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.ktps .frm-fluent-form .ff_file_upload_holder .ff_upload_btn:hover,
.ktps .frm-fluent-form .ff_file_upload_holder .ff-btn:hover,
.ktps .frm-fluent-form .ff_file_upload_holder .ff-btn-secondary:hover,
.ktps .frm-fluent-form .ff_upload_btn:hover, .ktps .frm-fluent-form .ff_upload_btn:focus-visible {
	background: #fff3bf; border-color: var(--ktps-ink); color: var(--ktps-ink);
}
.ktps .frm-fluent-form .ff-upload-progress, .ktps .frm-fluent-form .ff-upload-preview { margin-top: 10px; }
.ktps .frm-fluent-form .ff-upload-progress-inline { background: var(--ktps-yellow); }
.ktps .frm-fluent-form .ff-btn-submit {
	background: var(--ktps-yellow); color: var(--ktps-ink); font-weight: 700; font-size: 1.05rem; border: 0;
	border-radius: var(--ktps-radius); padding: 16px 36px; min-height: 54px; cursor: pointer; width: 100%;
}
@media (min-width: 640px) { .ktps .frm-fluent-form .ff-btn-submit { width: auto; } }
.ktps .frm-fluent-form .ff-btn-submit:hover { background: var(--ktps-yellow-dark); color: var(--ktps-ink); }
.ktps .frm-fluent-form .ff-btn-submit:disabled, .ktps .frm-fluent-form .ff-btn-submit[aria-busy="true"] { opacity: .65; cursor: progress; }
.ktps .ff-message-success { background: var(--ktps-mist); border: 0; border-left: 4px solid var(--ktps-yellow); color: var(--ktps-ink); padding: 28px; border-radius: var(--ktps-radius); box-shadow: none; }
.ktps .ff-message-success h2, .ktps .ff-message-success h3 { margin-top: 0; }
.ktps .ff-errors-in-stack { border-radius: var(--ktps-radius); }

/* Guidelines */
.ktps-guide { background: var(--ktps-paper); }
.ktps-list--cols li { font-size: .98rem; }
.ktps-more { font-size: .95rem; }
.ktps-more a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }

/* FAQ */
.ktps-faq { background: var(--ktps-mist); }
.ktps-acc details { border-bottom: 1px solid #c5cdc8; }
.ktps-acc summary { list-style: none; cursor: pointer; padding: 20px 40px 20px 0; font-weight: 600; position: relative; }
.ktps-acc summary::-webkit-details-marker { display: none; }
.ktps-acc summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; }
.ktps-acc details[open] summary::after { content: "\2212"; }
.ktps-acc details p { padding: 0 0 20px; margin: 0; color: var(--ktps-ink-soft); }

/* Final CTA */
.ktps-final { background: var(--ktps-ink); color: #fff; }
.ktps-final h2 { color: #fff; }
.ktps-final p { color: #d6dcd8; }
.ktps-foot { margin: 48px 0 0 !important; font-size: .9rem; color: #aab3ad !important; }
