/*
Theme Name:   Hello Elementor Child — Kayla Breneman
Description:  Child theme for Hello Elementor. Holds the few details Elementor has no control for; everything else lives in Elementor and Site Settings.
Author:       Kayla Breneman
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Anchor targets clear the sticky header. */
#offer { scroll-margin-top: 72px; }

/* Header: frosted background behind the sticky bar. */
.kb-header { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.kb-logo a,
.kb-logo img { display: block; }

/* Text-only links take the brass hover colour from the reference. */
.kb-link-hover a { transition: color 0.2s ease-out; }
.kb-link-hover a:hover,
.kb-link-hover a:focus { color: var(--e-global-color-secondary) !important; }
.kb-cta-call a { color: inherit; }
.kb-cta-call a:hover,
.kb-cta-call a:focus { color: var(--e-global-color-accent); }

/* Balanced line breaks on short display headings. */
.kb-balance .elementor-heading-title { text-wrap: balance; }

/* Diamond bullets: a square icon turned 45°. */
.kb-diamonds .elementor-icon-list-icon svg,
.kb-diamonds .elementor-icon-list-icon i { transform: rotate(45deg); }
.kb-diamonds .elementor-inline-items { row-gap: 10px; }

/* Portrait keeps its 4:5 crop at every width. */
.kb-ratio-4x5 img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }

/* Last paragraph in a text widget adds no trailing space. */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Stars: decorative, the caption names the reviewer. */
.kb-stars { line-height: 1; }

/* Text link button keeps its underline tight to the label. */
.kb-text-link .elementor-button { background: transparent; }

/* Final CTA field matches the reference height. */
.kbvf-starter .elementor-field-textual { padding: 18px; min-height: 56px; line-height: 1.2; }
.kbvf-starter .elementor-button { min-height: 56px; }
.kbvf-starter .elementor-field-textual::placeholder { color: #757575; opacity: 1; }

/* Header and Listing Experience buttons: left-aligned label on mobile (add the class to any button). */
@media (max-width: 767px) {
	.kb-btn-left-mobile .elementor-button { text-align: left; }
	.kb-btn-left-mobile .elementor-button-content-wrapper { justify-content: flex-start; }
}

/* Visible keyboard focus everywhere. */
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible,
.e-n-accordion-item-title:focus-visible,
input:focus-visible {
	outline: 2px solid var(--e-global-color-secondary, #9a7a52);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
