/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ===== Ohana Digital Marketing ===== */
html{scroll-behavior:smooth}
body{background:#f3ebdc;color:#23252a;-webkit-font-smoothing:antialiased}
.elementor a{color:inherit;text-decoration:none}

/* Final CTA form (GET -> /contact-us/) */
.oh-cta{display:flex;flex-direction:column;gap:14px;width:100%;max-width:640px;color:#f3ebdc}
.oh-cta-label{font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.24em;color:#a9b4c6}
.oh-chips{display:flex;flex-wrap:wrap;gap:10px}
.oh-chips label{position:relative}
.oh-chips input{position:absolute;opacity:0;pointer-events:none}
.oh-chips label span{display:inline-block;cursor:pointer;border:1.5px solid rgba(243,235,220,.5);color:#f3ebdc;border-radius:999px;padding:11px 20px;font:600 15px 'DM Sans',sans-serif;transition:all .25s}
.oh-chips input:checked+span{background:#f3ebdc;color:#23252a;border-color:#f3ebdc}
.oh-chips input:focus-visible+span{outline:2px solid #d8a848;outline-offset:2px}
.oh-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.oh-cta-row input{flex:1 1 260px;min-width:0;background:#f3ebdc;color:#23252a;border:0;border-radius:999px;padding:17px 24px;font:16px 'DM Sans',sans-serif;outline:none}
.oh-cta-row input:focus-visible{box-shadow:0 0 0 3px rgba(216,168,72,.6)}
.oh-cta-row button{background:#d9805e;color:#23252a;border:0;border-radius:999px;padding:17px 30px;font:700 14px 'DM Sans',sans-serif;letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:background .25s}
.oh-cta-row button:hover{background:#e8977a}

/* Home: other-industries image swap on row hover */
#oi-imgs>*{opacity:0;transition:opacity .6s ease}
#oi-imgs>:first-child{opacity:1}
#oi:has(#oi-list>:nth-child(2):hover) #oi-imgs>:first-child,#oi:has(#oi-list>:nth-child(3):hover) #oi-imgs>:first-child{opacity:0}
#oi:has(#oi-list>:nth-child(2):hover) #oi-imgs>:nth-child(2){opacity:1}
#oi:has(#oi-list>:nth-child(3):hover) #oi-imgs>:nth-child(3){opacity:1}

/* Atomic accordion: +/– indicator (used for services + FAQs) */
.elementor details>summary{list-style:none}
.elementor details>summary::-webkit-details-marker{display:none}
.elementor .e-accordion-item-icon-base{width:32px!important;height:auto!important;justify-content:flex-end;font:400 26px/1 'DM Sans',sans-serif;color:#23252a}
.elementor .e-accordion-item-icon-base::after{content:"+"}
.elementor details[open]>summary .e-accordion-item-icon-base::after{content:"\2013"}
.elementor details>summary:hover p{color:#d9805e}

/* ===== Contact form (atomic e-form) ===== */
#ct-types>div,#ct-svcs>div{position:relative;display:inline-flex;width:auto}
#ct-types input,#ct-svcs input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1;appearance:none}
#ct-types label,#ct-svcs label{position:relative;cursor:pointer;border:1.5px solid #b9ae98;color:#23252a;background:transparent;font-family:'DM Sans',sans-serif;transition:all .25s}
#ct-types label{border-radius:999px;padding:11px 20px;font-size:15px;font-weight:600}
#ct-types input:checked+label{background:#23252a;color:#f3ebdc;border-color:#23252a}
#ct-svcs label{border-radius:6px;padding:10px 16px 10px 36px;font-size:15px;font-weight:500}
#ct-svcs label::before{content:"+";position:absolute;left:14px;font-weight:700}
#ct-svcs input:checked+label{background:#5b6b85;color:#f3ebdc;border-color:#5b6b85}
#ct-svcs input:checked+label::before{content:"\2713"}
#ct-types input:focus-visible+label,#ct-svcs input:focus-visible+label{outline:2px solid #d8a848;outline-offset:2px}
#contact-form input[type=text]:focus,#contact-form input[type=email]:focus,#contact-form select:focus,#contact-form textarea:focus{border-color:#5b6b85!important;box-shadow:0 0 0 3px rgba(91,107,133,.18);outline:none}
#contact-form .form-state-success>:not(.message-success){display:none!important}

/* ===== Blog ===== */
#blog-cats a{display:inline-block;border:1.5px solid #b9ae98;border-radius:999px;padding:9px 18px;font:600 14px 'DM Sans',sans-serif;color:#23252a;background:transparent;transition:all .25s}
#blog-cats a:hover{border-color:#23252a}
#blog-cats a[aria-current]{background:#23252a;color:#f3ebdc;border-color:#23252a}
.oh-search{display:flex;align-items:center;gap:12px;background:#f3ebdc;color:#23252a;border-radius:999px;padding:6px 6px 6px 22px;max-width:520px}
.oh-search i{width:14px;height:14px;border:2px solid #23252a;border-radius:50%;flex:none}
.oh-search input{flex:1;min-width:0;border:0;background:transparent;font:16px 'DM Sans',sans-serif;color:#23252a;outline:none;padding:10px 0}
.oh-search button{background:#23252a;color:#f3ebdc;border:0;border-radius:999px;padding:11px 20px;font:700 13px 'DM Sans',sans-serif;letter-spacing:.08em;cursor:pointer}
.oh-cat-label{font-size:12px;font-weight:700;letter-spacing:.2em}
/* article typography (post content widget) */
#oh-article{font-size:clamp(17px,1.3vw,19px);line-height:1.75;color:#23252a}
#oh-article p{margin:0 0 26px;text-wrap:pretty}
#oh-article h2{margin:44px 0 22px;font:400 clamp(28px,2.8vw,38px)/1.08 'Shrikhand',serif}
#oh-article h3{margin:34px 0 16px;font:700 clamp(21px,2vw,26px)/1.2 'DM Sans',sans-serif}
#oh-article a{color:#b05f40;text-decoration:underline}
#oh-article img{max-width:100%;height:auto;border-radius:6px}
#oh-article figure{margin:0 0 26px}
#oh-article figcaption{font-size:13px;color:#6a6d74;text-align:center;margin-top:10px}
#oh-article blockquote{margin:44px 0;padding:32px 0;border-top:2px solid #23252a;border-bottom:2px solid #23252a;font:400 clamp(26px,2.8vw,38px)/1.12 'Shrikhand',serif;text-align:center;color:#5b6b85;text-wrap:balance}
#oh-article blockquote p{margin:0}
#oh-article .oh-takeaways{border:2px solid #23252a;border-radius:6px;padding:28px 30px;background:#f8f3ea;box-shadow:6px 6px 0 #d8a848;margin:0 0 34px}
#oh-article .oh-takeaways h4{margin:0 0 14px;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.24em;color:#5b6b85}
#oh-article .oh-takeaways ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.55;counter-reset:t}
#oh-article .oh-takeaways li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;counter-increment:t}
#oh-article .oh-takeaways li::before{content:counter(t,decimal-leading-zero);color:#d9805e;font-weight:700}
#oh-article .oh-searches{background:#23252a;color:#f3ebdc;border-radius:6px;padding:28px 30px;margin:34px 0;display:flex;flex-direction:column;gap:12px}
#oh-article .oh-searches h4{margin:0;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.24em;color:#a9b4c6}
#oh-article .oh-searches p{margin:0;display:flex;align-items:center;gap:12px;background:#f3ebdc;color:#23252a;border-radius:999px;padding:12px 20px;font-size:16px;line-height:1.4}
#oh-article .oh-searches p::before{content:"";width:12px;height:12px;border:2px solid #23252a;border-radius:50%;flex:none}
#oh-article>p:first-of-type::first-letter{float:left;font:400 64px/.8 'Shrikhand',serif;color:#d9805e;margin:10px 10px 0 0}
.oh-post-footer{display:flex;flex-direction:column;gap:26px;width:100%;font-family:'DM Sans',sans-serif}
.oh-share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:28px;border-top:1px solid #cfc4ae;font-size:14px}
.oh-share-label{font-weight:700;letter-spacing:.14em;font-size:12px}
.oh-share a,.oh-share button{border:1.5px solid #23252a;border-radius:999px;padding:7px 16px;font:600 14px 'DM Sans',sans-serif;color:#23252a;background:transparent;cursor:pointer;text-decoration:none}
.oh-share a:hover,.oh-share button:hover{background:#23252a;color:#f3ebdc}
.oh-author{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;background:#f8f3ea;border-radius:6px;padding:24px}
.oh-author-pic img{width:72px;height:72px;border-radius:50%;display:block}
.oh-author div{display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.5}
.oh-author b{font-size:17px}.oh-author span{color:#4a4d54}.oh-author a{font-weight:700;color:#b05f40;text-decoration:none}
.oh-prevnext{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:24px;width:100%}
.oh-pn{display:grid;gap:20px;align-items:center;color:#23252a;text-decoration:none}
.oh-pn-prev{grid-template-columns:140px minmax(0,1fr)}
.oh-pn-next{grid-template-columns:minmax(0,1fr) 140px;text-align:right}
.oh-pn-next img,.oh-pn-next .oh-pn-blank{order:2}
.oh-pn img,.oh-pn-blank{width:140px;height:140px;object-fit:cover;border-radius:6px;background:#cfc4ae;display:block}
.oh-pn span{display:flex;flex-direction:column;gap:8px}
.oh-pn em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.2em;color:#5b6b85}
.oh-pn b{font-size:19px;line-height:1.25}
.oh-pn:hover b{color:#d9805e}
.elementor .elementor-widget-loop-grid .elementor-button{background:transparent;color:#23252a;border:1.5px solid #23252a;border-radius:999px;padding:15px 30px;font:700 14px 'DM Sans',sans-serif;letter-spacing:.08em;transition:all .25s}
.elementor .elementor-widget-loop-grid .elementor-button:hover{background:#23252a;color:#f3ebdc}
.elementor .elementor-widget-loop-grid .elementor-button .elementor-button-text{font:inherit}
#oh-article,#oh-article *{font-family:'DM Sans',system-ui,sans-serif}
#oh-article h2,#oh-article blockquote,#oh-article blockquote p,#oh-article>p:first-of-type::first-letter{font-family:'Shrikhand',serif}
#oh-article h2{color:#23252a}
#oh-article p,#oh-article li{color:#23252a}
#oh-article blockquote,#oh-article blockquote p{color:#5b6b85}
#oh-article .oh-takeaways li::before{color:#d9805e}

/* Starter legal pages (Privacy / Terms): solid header since they have no dark hero */
body.page-id-251 [data-elementor-type=header]>div,body.page-id-253 [data-elementor-type=header]>div{position:relative!important;background:#23252a!important}

/* Inline links inside body copy (internal linking) */
[data-elementor-type="wp-page"] p a[href]{text-decoration:underline;text-decoration-color:var(--brand-primary,#d9805e);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
[data-elementor-type="wp-page"] p a[href]:hover{color:var(--brand-primary,#d9805e)}
[data-elementor-type="wp-page"]>*:first-child p a[href]{text-decoration:none}

/* Home ecosystem: typing + backspace effect on the search-query pills (looping, each row its own speed) */
@keyframes ohana-type{
0%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em;animation-timing-function:steps(1,end)}
3%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:0 0;animation-timing-function:steps(1,end)}
5%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em;animation-timing-function:steps(var(--a),end)}
14%{clip-path:inset(0 65% 0 0);background-position-x:35%;background-size:2px 1.1em;animation-timing-function:steps(1,end)}
16%{clip-path:inset(0 65% 0 0);background-position-x:35%;background-size:2px 1.1em;animation-timing-function:steps(var(--b),end)}
27%{clip-path:inset(0 30% 0 0);background-position-x:70%;background-size:2px 1.1em;animation-timing-function:steps(1,end)}
29%{clip-path:inset(0 30% 0 0);background-position-x:70%;background-size:2px 1.1em;animation-timing-function:steps(var(--c),end)}
37%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em;animation-timing-function:steps(1,end)}
40%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em}
43%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:0 0}
46%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em}
49%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:0 0}
52%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em}
55%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:0 0}
58%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em}
61%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:0 0}
64%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em}
67%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:0 0}
70%{clip-path:inset(0 0% 0 0);background-position-x:100%;background-size:2px 1.1em;animation-timing-function:steps(var(--n),end)}
82%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em;animation-timing-function:steps(1,end)}
85%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em}
88%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:0 0}
91%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em}
94%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:0 0}
97%{clip-path:inset(0 100% 0 0);background-position-x:0%;background-size:2px 1.1em}
}
.elementor-element-4d085fb3>*>*:nth-child(2) p{background:linear-gradient(currentColor,currentColor) no-repeat 0 50%/2px 1.1em;clip-path:inset(0 100% 0 0);animation:ohana-type var(--t) linear var(--d) infinite both}
.elementor-element-4d085fb3>*:nth-child(1)>*:nth-child(2) p{--n:25;--a:9;--b:9;--c:7;--t:8s;--d:0s}
.elementor-element-4d085fb3>*:nth-child(2)>*:nth-child(2) p{--n:23;--a:8;--b:8;--c:7;--t:11s;--d:.6s}
.elementor-element-4d085fb3>*:nth-child(3)>*:nth-child(2) p{--n:23;--a:8;--b:8;--c:7;--t:9.5s;--d:1.2s}
.elementor-element-4d085fb3>*:nth-child(4)>*:nth-child(2) p{--n:33;--a:12;--b:11;--c:10;--t:14s;--d:.3s}
.elementor-element-4d085fb3>*:nth-child(5)>*:nth-child(2) p{--n:37;--a:13;--b:13;--c:11;--t:12s;--d:.9s}
@media (prefers-reduced-motion:reduce){.elementor-element-4d085fb3 p{animation:none!important;clip-path:none!important;background:none!important}}

/* Header dropdowns (Industries / Services) */
.elementor-nav-menu--main .elementor-nav-menu--dropdown.sub-menu,
.elementor-nav-menu--main ul.sub-menu{background:#1b1d21;border:1px solid rgba(243,235,220,.18);border-radius:6px;padding:8px;min-width:280px;box-shadow:0 18px 40px rgba(0,0,0,.35);margin-top:6px}
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item{padding:11px 14px;border-radius:4px;font-size:14px;color:#f3ebdc;white-space:nowrap}
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item.elementor-item-active{background:rgba(243,235,220,.08);color:#d9805e}

/* Managed SEO hero search pill: same typing + backspace loop */
.elementor-element-35213905 p{background:linear-gradient(currentColor,currentColor) no-repeat 0 50%/2px 1.1em;clip-path:inset(0 100% 0 0);animation:ohana-type var(--t) linear var(--d) infinite both;--n:40;--a:14;--b:14;--c:12;--t:10s;--d:.4s}
@media (prefers-reduced-motion:reduce){.elementor-element-35213905 p{animation:none!important;clip-path:none!important;background:none!important}}

/* Blog article lists (match the takeaways box: coral markers, zero-padded counters) */
#oh-article ul:not(.oh-takeaways ul),#oh-article ol:not(.oh-takeaways ol){margin:0 0 1.4em;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;line-height:1.6}
#oh-article ul:not(.oh-takeaways ul) li,#oh-article ol:not(.oh-takeaways ol) li{position:relative;display:block;margin:0}
#oh-article ul:not(.oh-takeaways ul) li{padding-left:26px}
#oh-article ul:not(.oh-takeaways ul) li::before{content:"";position:absolute;left:3px;top:.62em;width:8px;height:8px;border-radius:50%;background:#d9805e}
#oh-article ol:not(.oh-takeaways ol){counter-reset:ohol}
#oh-article ol:not(.oh-takeaways ol) li{padding-left:40px;counter-increment:ohol}
#oh-article ol:not(.oh-takeaways ol) li::before{content:counter(ohol,decimal-leading-zero);position:absolute;left:0;top:0;color:#d9805e;font-weight:700;font-variant-numeric:tabular-nums}
#oh-article li ul:not(.oh-takeaways ul),#oh-article li ol:not(.oh-takeaways ol){margin:10px 0 0}

/* Blog article headings: balanced line breaks */
#oh-article h2,#oh-article h3{text-wrap:balance}

/* Post author box: Brandon & Cheryl (matches the founders block on the industry pages) */
.oh-post-footer .oh-author{display:flex;align-items:center;gap:24px;background:transparent;border-radius:0;padding:0}
.oh-post-footer .oh-author-pic img{width:160px;height:160px;border-radius:50%;object-fit:cover;object-position:50% 50%;display:block}
.oh-post-footer .oh-author>div{display:flex;flex-direction:column;gap:6px}
.oh-post-footer .oh-author .oh-author-place{font:700 12px/18px 'DM Sans',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#5b6b85}
.oh-post-footer .oh-author b{font:400 clamp(24px,4.6vw,34px)/1.05 Shrikhand,serif;color:#23252a;text-wrap:balance}
.oh-post-footer .oh-author .oh-author-role{font-size:15px;line-height:1.5;color:#4a4d54}
@media (max-width:600px){.oh-post-footer .oh-author{gap:16px}.oh-post-footer .oh-author-pic img{width:104px;height:104px}}

.oh-post-footer .oh-author-pic{flex:none;display:block;line-height:0}
.oh-post-footer .oh-author-pic img{aspect-ratio:1/1;flex:none}
