/* Killarney Transfers – theme styles */

html { scroll-behavior: smooth; }
:where(section[id], .wp-block-column[id]) { scroll-margin-top: 90px; }

/* Header -------------------------------------------------------------- */
.kt-header {
	background: #fff;
	border-bottom: 1px solid #E3E7DF;
	padding-top: 14px;
	padding-bottom: 14px;
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .kt-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .kt-header { top: 46px; } }
.kt-header__inner { gap: 16px; }
.kt-header__right { gap: 24px; align-items: center; }
.kt-nav { font-size: 15px; font-weight: 500; gap: 24px; }
.kt-nav a { color: #2E3D38; text-decoration: none; }
.kt-nav a:hover { color: #0E3B34; text-decoration: underline; }
.kt-btn-small .wp-block-button__link { padding: 11px 20px; font-size: 15px; }

/* Logo */
.kt-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.kt-logo svg { flex: none; }
.kt-logo__words {
	display: flex; flex-direction: column;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800; font-size: 21px; line-height: 1; letter-spacing: -0.02em;
	color: #0E3B34;
}
.kt-logo__accent { color: #2F7F70; }
.kt-logo--dark .kt-logo__words { color: #fff; font-size: 19px; }
.kt-logo--dark .kt-logo__accent { color: #F2A541; }

/* Main layout --------------------------------------------------------- */
.kt-main { margin-top: 0; }
.kt-main > * { margin-block-start: 0; }
.kt-section { padding-top: clamp(48px, 7vw, 72px); padding-bottom: clamp(48px, 7vw, 72px); }
.kt-section--mist { background: #EAF1EC; }
.kt-eyebrow {
	font-weight: 700; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase;
	color: #A3620F; margin-bottom: 0;
}
.kt-eyebrow + h2 { margin-top: 8px; margin-bottom: 32px; }
.kt-body p, .kt-intro p { font-size: 18px; line-height: 1.65; color: #3A4944; }

/* Hero ---------------------------------------------------------------- */
.kt-hero {
	background-color: #0E3B34;
	background-image: url("../images/mountains.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100% 220px;
	color: #fff;
	padding-top: clamp(48px, 7vw, 72px);
	padding-bottom: 170px;
}
.kt-hero__cols { gap: 48px; }
.kt-hero h1.kt-hero__title { color: #fff; line-height: 1.02; letter-spacing: -0.02em; margin: 16px 0; }
.kt-hero__lead { font-size: 20px; line-height: 1.55; color: #D8E6E1; max-width: 560px; }
.kt-pill {
	display: inline-block; background: rgba(242,165,65,0.16); color: #FFD08A;
	font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 999px; margin: 0;
}
.kt-hero__buttons { gap: 12px; margin-top: 24px; }
.kt-btn-white .wp-block-button__link { background: #fff; color: #0E3B34; }
.kt-btn-white .wp-block-button__link:hover { background: #EAF1EC; color: #0E3B34; }
.kt-btn-ghost .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.5); }
.kt-btn-ghost .wp-block-button__link:hover { background: rgba(255,255,255,0.08); color: #fff; }
.kt-ticks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; color: #D8E6E1; font-size: 15px; margin-top: 24px; }
.kt-ticks li { display: flex; align-items: center; gap: 8px; }
.kt-ticks li::before {
	content: ""; width: 18px; height: 18px; flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2A541' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Cards --------------------------------------------------------------- */
.kt-cards { gap: 20px; }
.kt-card {
	background: #fff; border: 1px solid #E3E7DF; border-radius: 20px; padding: 24px;
	display: flex; flex-direction: column; gap: 10px;
}
.kt-section--mist .kt-card { border-color: transparent; }
.kt-card h3 { margin: 4px 0 0; color: #16241F; }
.kt-card p { margin: 0; font-size: 16px; line-height: 1.55; color: #3A4944; }
.kt-card .kt-card__link { margin-top: auto; padding-top: 8px; }
.kt-card__link a { font-weight: 700; color: #0E5A4E; text-decoration: none; }
.kt-card__link a:hover { text-decoration: underline; }

/* Steps --------------------------------------------------------------- */
.kt-steps { counter-reset: kt-step; gap: 28px; }
.kt-step { position: relative; padding-left: 64px; }
.kt-step::before {
	counter-increment: kt-step; content: counter(kt-step);
	position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-radius: 999px;
	background: #0E3B34; color: #F2A541;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 22px;
	display: flex; align-items: center; justify-content: center;
}
.kt-step h3 { margin: 4px 0 6px; color: #16241F; }
.kt-step p { margin: 0; color: #3A4944; }

/* Dark FAQ + quote section ------------------------------------------- */
.kt-section--dark { background: #0E3B34; color: #fff; }
.kt-section--dark .wp-block-columns { gap: 48px; }
.kt-section--dark h2 { color: #fff; }
.kt-faq h3 { color: #FFD08A; font-family: var(--wp--preset--font-family--body); font-size: 18px; font-weight: 700; letter-spacing: 0; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 20px; margin-bottom: 6px; }
.kt-faq p { color: #D8E6E1; margin-top: 0; }
.kt-section--dark a { color: #fff; font-weight: 700; }
.kt-whatsapp-alt { color: #D8E6E1; margin-top: 16px; }

/* Footer -------------------------------------------------------------- */
.kt-footer { background: #082A25; color: #B9CBC5; padding-top: 40px; padding-bottom: 40px; font-size: 14px; line-height: 1.6; }
.kt-footer__inner { gap: 24px; }
.kt-footer__about { max-width: 680px; gap: 16px; }
.kt-footer__about p { margin: 0; }
.kt-footer__nav a { color: #fff; }

/* Inner pages --------------------------------------------------------- */
.kt-page { padding-top: 56px; padding-bottom: 72px; }
.kt-meta { color: #56645F; font-size: 14px; }
.kt-post-card { margin-bottom: 20px; }

/* Forms --------------------------------------------------------------- */
.kt-form {
	background: #fff; color: #16241F; border-radius: 24px; padding: clamp(22px, 3vw, 32px);
	display: flex; flex-direction: column; gap: 16px;
	box-shadow: 0 24px 60px rgba(4,30,26,0.35);
}
.kt-quick { max-width: 440px; margin-left: auto; margin-top: 0; }
.kt-form p, .kt-form fieldset { margin-block: 0; }
.kt-form__title, .kt-quick__title {
	margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 800;
	font-size: clamp(24px, 2.4vw, 30px); line-height: 1.1; color: #0E3B34;
}
.kt-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: #2E3D38; flex: none; min-width: 0; margin: 0; }
.kt-form__row > label { flex: 1 1 200px; }
.kt-form input[type="text"], .kt-form input[type="email"], .kt-form input[type="tel"],
.kt-form input[type="number"], .kt-form input[type="date"], .kt-form input[type="datetime-local"], .kt-form select {
	font: inherit; font-weight: 400; font-size: 16px; padding: 12px 14px;
	border: 1px solid #C9D2CB; border-radius: 12px; background: #fff; color: #16241F; width: 100%; box-sizing: border-box; min-height: 48px;
}
.kt-form input:focus, .kt-form select:focus { outline: 3px solid rgba(242,165,65,0.6); outline-offset: 1px; border-color: #0E3B34; }
.kt-form__row { display: flex; flex-wrap: wrap; gap: 16px; }
.kt-form__narrow { flex: 0 0 110px !important; }
.kt-form__checks { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.kt-form__checks legend { font-size: 14px; font-weight: 600; color: #2E3D38; padding: 0; margin-bottom: 4px; }
.kt-form__checks label, .kt-form__consent { flex-direction: row !important; align-items: center; gap: 8px !important; font-weight: 400 !important; font-size: 15px !important; min-height: 44px; }
.kt-form__consent { align-items: flex-start !important; line-height: 1.5; color: #3A4944 !important; min-height: 0; }
.kt-form input[type="checkbox"] { width: 20px; height: 20px; flex: none; accent-color: #0E3B34; margin: 2px 0 0; }
.kt-form .kt-form__consent a, .kt-section--dark .kt-form a { color: #0E5A4E; }
.kt-form button {
	font: inherit; cursor: pointer; border: 0; align-self: flex-start;
	background: #F2A541; color: #16241F; font-weight: 700; font-size: 17px; padding: 16px 30px; border-radius: 999px;
}
.kt-form button:hover { background: #E8932A; }
.kt-form button.kt-form__dark { background: #0E3B34; color: #fff; align-self: stretch; border-radius: 14px; }
.kt-form button.kt-form__dark:hover { background: #14493F; }
.kt-form__note { margin: 0; font-size: 13px; color: #56645F; text-align: center; }
.kt-form__error { margin: 0; background: #FBEBEB; color: #8A1C1C; padding: 12px 14px; border-radius: 12px; font-size: 15px; }
.kt-form--done p { margin: 0; color: #3A4944; }
.kt-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Mobile -------------------------------------------------------------- */
@media (max-width: 781px) {
	.kt-quick { margin-left: 0; max-width: none; }
	.kt-hero { padding-bottom: 130px; background-size: 100% 120px; }
	.kt-step { padding-left: 60px; }
}

.kt-form .cf-turnstile { min-height: 65px; }

/* Arriving from the top card */
.kt-form__nearly { margin: 0; background: #FFF6E6; color: #5A3A00; border-left: 0; padding: 12px 14px; border-radius: 12px; font-weight: 600; font-size: 15px; }
.kt-form--prefilled { animation: kt-glow 2.2s ease-out 0.4s 1; }
@keyframes kt-glow {
	0%   { box-shadow: 0 0 0 0 rgba(242,165,65,0.9), 0 24px 60px rgba(4,30,26,0.35); }
	60%  { box-shadow: 0 0 0 10px rgba(242,165,65,0.25), 0 24px 60px rgba(4,30,26,0.35); }
	100% { box-shadow: 0 0 0 0 rgba(242,165,65,0), 0 24px 60px rgba(4,30,26,0.35); }
}
@media (prefers-reduced-motion: reduce) { .kt-form--prefilled { animation: none; outline: 3px solid #F2A541; } }
