/*
Theme Name:   Hello Elementor Child – Oslove
Theme URI:    https://oslove.com
Description:  Child theme of Hello Elementor for Oslove Consulting Inc.
Author:       Oslove Consulting Inc.
Template:     hello-elementor
Version:      1.1.6
Text Domain:  hello-elementor-child
*/

/* Small global polish. Layout and styling live in Elementor. */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: #F9A266; color: #fff; }

/* Two-tone headings: wrap a word in <span class="hl"> inside any Heading widget */
.elementor-heading-title .hl { color: var(--e-global-color-primary); }
.osl-dark .elementor-heading-title .hl { color: var(--e-global-color-accent); }
.osl-cta .elementor-heading-title .hl { color: var(--e-global-color-secondary); }

/* Cards: smooth lift on hover */
.osl-card { transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease; }
.osl-card:hover { transform: translateY(-8px); box-shadow: 0 34px 70px rgba(59,31,14,.16); }
.osl-card .elementor-widget-image img { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.osl-card:hover .elementor-widget-image img { transform: scale(1.06); }
.osl-card .elementor-widget-image { overflow: hidden; }

/* Frosted glass panel */
.osl-glass { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }

/* Floating badge over About image */
.osl-media { position: relative; }
.osl-badge { position: absolute !important; right: -24px; bottom: -30px; }
@media (max-width: 767px) { .osl-badge { position: relative !important; right: auto; bottom: auto; width: 230px !important; margin: -60px 0 0 18px !important; padding: 20px !important; } }

/* Sticky header gets a soft shadow once scrolled */
.osl-header { transition: box-shadow .3s ease, background-color .3s ease; }
.osl-header.elementor-sticky--effects { box-shadow: 0 12px 40px rgba(59,31,14,.10); }

/* Eyebrow accent line */
.osl-eyebrow .elementor-heading-title::before { content: ""; display: inline-block; width: 28px; height: 2px; margin-right: 12px; vertical-align: middle; background: currentColor; }

/* Posts cards: rounded images */
.elementor-posts .elementor-post__card { overflow: hidden; }

/* Jump links land below the sticky header */
[id] { scroll-margin-top: 110px; }

/* Post navigation: let long titles wrap on phones instead of cutting off */
@media (max-width: 767px) {
	.elementor-post-navigation .elementor-post-navigation__link a,
	.elementor-post-navigation .elementor-post-navigation__link span:not(.elementor-screen-only) { white-space: normal; overflow: visible; text-overflow: clip; }
}

/* Cards: equal-height content, buttons lined up along the bottom */
.osl-card-body { flex: 1 1 auto; }
.osl-card-body > .elementor-widget-button:last-child,
.osl-card > .elementor-widget-button:last-child { margin-top: auto; }

/* Blog ("My Story"): full stories in one continuous reading column */
.osl-stories .elementor-post { padding-bottom: 80px; border-bottom: 1px solid #F2E2C2; }
.osl-stories .elementor-post:last-child { border-bottom: 0; padding-bottom: 0; }
.osl-stories .elementor-post__thumbnail { border-radius: 24px; overflow: hidden; margin-bottom: 28px; }
.osl-stories .elementor-post__title { margin-bottom: 6px; }
.osl-stories .elementor-post__meta-data { margin-bottom: 24px; }
.osl-stories .elementor-post__text h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 30px; line-height: 1.3; color: var(--e-global-color-secondary); margin: 44px 0 16px; }
.osl-stories .elementor-post__text h2:first-child { margin-top: 0; }
.osl-stories .elementor-post__text p { margin-bottom: 18px; }
.osl-stories .elementor-post__text img { display: block; width: 100%; height: auto; border-radius: 24px; margin: 36px 0; }
@media (max-width: 767px) {
	.osl-stories .elementor-post { padding-bottom: 56px; }
	.osl-stories .elementor-post__text h2 { font-size: 23px; margin-top: 34px; }
	.osl-stories .elementor-post__text img { margin: 26px 0; border-radius: 18px; }
}
.osl-stories .elementor-post__text p, .osl-stories .elementor-post__text li { font-family: "Plus Jakarta Sans", sans-serif; font-size: 19px; line-height: 1.8; color: var(--e-global-color-text); }
@media (max-width: 767px) { .osl-stories .elementor-post__text p, .osl-stories .elementor-post__text li { font-size: 17px; } }

/* ===== Blog page: modern editorial layout ===== */
/* Hero photo: offset color frame + floating name badge */
.osl-photo { position: relative; }
.osl-photo::before { content: ""; position: absolute; inset: 28px -22px -22px 28px; border-radius: 36px; background: linear-gradient(135deg, var(--e-global-color-primary), var(--e-global-color-accent)); opacity: .35; z-index: 0; }
.osl-photo > .elementor-widget-image { position: relative; z-index: 1; }
.osl-float-badge { position: absolute !important; left: -34px; bottom: 34px; z-index: 2; width: auto !important; }
@media (max-width: 1024px) { .osl-photo::before { inset: 18px -12px -12px 18px; } .osl-float-badge { left: 16px; bottom: 16px; } }
/* Highlight chips */
.osl-chips .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { background: rgba(255,255,255,.75); border: 1px solid #F2E2C2; border-radius: 100px; padding: 8px 16px; margin: 0 8px 8px 0; }
.osl-chips .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item::after { display: none; }
/* Sticky author card */
@media (min-width: 1025px) { .osl-sticky { position: sticky !important; top: 120px; align-self: flex-start; } }
/* Stories */
.osl-stories .elementor-post__title { font-size: 38px !important; line-height: 1.15; }
.osl-stories .elementor-post__meta-data { display: inline-block; background: #FFF1E6; color: var(--e-global-color-primary); border-radius: 100px; padding: 6px 16px; font-weight: 700; }
.osl-stories .elementor-post__text h2 { border-left: 4px solid var(--e-global-color-primary); padding-left: 22px; }
.osl-stories .elementor-post__thumbnail { box-shadow: 0 24px 60px rgba(59,31,14,.12); }
@media (max-width: 767px) { .osl-stories .elementor-post__title { font-size: 28px !important; } .osl-stories .elementor-post__text h2 { padding-left: 16px; } }
/* Story title: no accent bar (bar is only for chapter headings) */
.osl-stories .elementor-post__text h2.elementor-post__title,
.osl-stories .elementor-post__title { border-left: 0; padding-left: 0; }
/* Chips line up with the text on the left */
.osl-chips .elementor-icon-list-items.elementor-inline-items { justify-content: flex-start !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Story photos with captions; pairs side by side */
.osl-stories .osl-fig { margin: 30px 0; }
.osl-stories .osl-fig img { margin: 0 !important; width: 100%; height: auto; border-radius: 20px; }
.osl-stories .osl-fig figcaption { margin-top: 10px; font-size: 14px; font-style: italic; color: var(--e-global-color-text); opacity: .85; }
.osl-stories .osl-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 30px 0; align-items: start; }
.osl-stories .osl-pair .osl-fig { margin: 0; }
.osl-stories .osl-pair .osl-fig img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) { .osl-stories .osl-pair { grid-template-columns: minmax(0, 1fr); } }

/* Story: side-by-side portrait photos */
.osl-pair.osl-pair--tall .osl-fig img { aspect-ratio: 3 / 4; object-position: center top; }
.osl-stories .osl-fig.osl-fig--narrow { max-width: 480px; margin-left: auto !important; margin-right: auto !important; }
.osl-pair .osl-fig { min-width: 0; }

/* Form messages on dark sections (newsletter) */
.osl-dark .elementor-message,
.osl-cta .elementor-message,
.osl-dark .elementor-message::before,
.osl-cta .elementor-message::before { color: #FFFFFF !important; }
