/*
Theme Name: Simon Counseling — Divi 4 Child
Theme URI: https://simoncounseling.net/
Description: Custom Divi 4 child theme and branding for Simon Counseling at simoncounseling.net. Requires Divi (parent theme).
Author: 314media
Author URI: https://314media.com/
Version: 1.1.0
Template: Divi
Text Domain: simon-counseling
*/
:root { --sc-green:#17382f; --sc-green-deep:#102b24; --sc-ink:#1a302e; --sc-copper:#9b6a39; --sc-gold:#b88d53; --sc-cream:#fbf7ef; --sc-paper:#f6f0e5; --sc-line:#ded5c6; --sc-muted:#60645f; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { color:var(--sc-ink); background:var(--sc-cream); }
body, .sc-site { font-family:'Open Sans',Arial,sans-serif; }
h1,h2,h3,h4,.sc-serif { font-family:Georgia,'Times New Roman',serif; }
#main-header { background:rgba(254,251,246,.98)!important; box-shadow:0 1px 10px rgba(25,45,39,.055)!important; }
#main-header .nav li a, #top-menu li a { color:var(--sc-ink); font-size:13px; font-weight:600; }
#top-menu li.current-menu-item>a, #top-menu li a:hover { color:var(--sc-copper)!important; }
#main-header #logo { max-height:76%; }
#main-footer { background:var(--sc-green-deep); }
#footer-info,#footer-info a { color:#f2e8da!important; }
.sc-site .et_pb_section { background-color:transparent; }
.sc-site .et_pb_row { width:min(90%,1200px); max-width:1200px; }
.sc-site .et_pb_text { overflow-wrap:break-word; }
.sc-site p { line-height:1.75; }
.sc-site p:last-child { padding-bottom:0; }
.sc-site .et_pb_button_module_wrapper { margin-bottom:0!important; }
.sc-site .sc-eyebrow { color:var(--sc-copper); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:2.4px; }
.sc-site .sc-eyebrow p { letter-spacing:inherit; }
.sc-site .sc-eyebrow:after { content:''; height:1px; width:44px; display:block; background:var(--sc-gold); margin-top:13px; }
.sc-site h1,.sc-site h2,.sc-site h3 { color:var(--sc-ink); font-weight:400; }
.sc-site h1 { font-size:clamp(49px,5.1vw,79px); line-height:1.045; letter-spacing:-2.2px; }
.sc-site h2 { font-size:clamp(34px,3.25vw,51px); line-height:1.12; letter-spacing:-1.05px; }
.sc-site h3 { font-size:clamp(24px,2.05vw,31px); line-height:1.23; }
.sc-site .sc-heading h2 em,.sc-site .sc-hero-title h1 em { color:var(--sc-copper); font-style:normal; }
.sc-site .sc-btn.et_pb_button { display:inline-flex!important; align-items:center; justify-content:center; min-height:50px; padding:12px 26px!important; background:var(--sc-green)!important; border:1px solid var(--sc-green)!important; border-radius:8px!important; color:#fff!important; font-size:14px!important; font-weight:700!important; line-height:1.3!important; letter-spacing:0!important; box-shadow:0 9px 20px rgba(12,39,32,.13); transition:transform .2s,background .2s,box-shadow .2s; }
.sc-site .sc-btn.et_pb_button:hover { transform:translateY(-2px); background:#285345!important; border-color:#285345!important; box-shadow:0 12px 24px rgba(12,39,32,.19); }
.sc-site .sc-btn.et_pb_button:after { display:none!important; }
.sc-site .sc-btn-outline.et_pb_button { color:var(--sc-green)!important; background:transparent!important; border-color:var(--sc-green)!important; box-shadow:none; }
.sc-site .sc-btn-outline.et_pb_button:hover { color:#fff!important; background:var(--sc-green)!important; }
.sc-site .sc-btn-light.et_pb_button { color:var(--sc-green)!important; background:#fbf6ec!important; border-color:#fbf6ec!important; box-shadow:none; }
.sc-site .sc-btn-light.et_pb_button:hover { color:var(--sc-green)!important; background:#fff!important; }
/* Hero */
.sc-site.sc-hero { padding:68px 0 65px!important; background:radial-gradient(circle at 86% 30%,rgba(206,176,133,.23),transparent 35%),linear-gradient(118deg,#fcfaf6 5%,#f4ebdd 88%)!important; overflow:hidden; }
.sc-site.sc-hero .et_pb_row { display:flex; align-items:center; gap:4%; padding:5px 0!important; }
.sc-site.sc-hero .et_pb_column { float:none; margin:0; width:50%; }
.sc-site.sc-hero .et_pb_column:first-child { width:54%; }
.sc-site.sc-hero .et_pb_column:last-child { width:42%; }
.sc-site .sc-hero-title h1 { margin:11px 0 18px; }
.sc-site .sc-hero-desc { font-size:17px; color:#4b5550; max-width:540px; margin-bottom:22px!important; }
.sc-site .sc-hero-meta { color:var(--sc-muted); font-size:12px; letter-spacing:.25px; margin-top:21px!important; }
.sc-site .sc-hero-meta strong { color:var(--sc-green); }
.sc-site .sc-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.sc-site .sc-hero-actions .et_pb_button_module_wrapper { margin-right:0!important; }
.sc-site .sc-portrait-shell { position:relative; padding:15px 0 13px 18px; }
.sc-site .sc-portrait-shell:before { content:''; position:absolute; width:74%; height:88%; top:0; right:0; border:1px solid rgba(161,126,77,.48); border-radius:220px 220px 20px 20px; transform:translate(20px,-4px); }
.sc-site .sc-portrait-shell:after { content:''; position:absolute; right:-26px; bottom:5px; height:145px; width:145px; background:url('assets/images/olive-branch.svg') center/contain no-repeat; transform:rotate(16deg); opacity:.55; pointer-events:none; }
.sc-site .sc-portrait-visual { position:relative; z-index:1; border-radius:210px 210px 10px 10px; overflow:hidden; height:480px; background:#d6c5aa; box-shadow:0 18px 50px rgba(36,39,30,.16); }
.sc-site .sc-portrait-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.sc-site .sc-portrait-chip { position:absolute; z-index:2; bottom:27px; left:-16px; max-width:280px; padding:14px 17px; border-radius:7px; background:#fffaf1; box-shadow:0 11px 30px rgba(20,49,44,.13); font-size:12px; color:var(--sc-muted); }
.sc-site .sc-portrait-chip b { display:block; margin-bottom:2px; color:var(--sc-green); font:normal 20px/1.3 Georgia,serif; }
/* Trust strip */
.sc-site.sc-trust { padding:16px 0!important; background:var(--sc-green)!important; }
.sc-site.sc-trust .et_pb_row { padding:5px 0!important; display:flex; align-items:center; }
.sc-site.sc-trust .et_pb_column { margin-bottom:0; }
.sc-site .sc-trust-item { color:#f9f0e4; font-size:13px; font-weight:600; text-align:center; letter-spacing:.15px; }
.sc-site .sc-trust-item p:before { content:'✧'; margin-right:10px; font-size:20px; vertical-align:-2px; color:#dcb78a; }
/* General */
.sc-site.sc-section { padding:78px 0!important; }
.sc-site .sc-section-paper { background:var(--sc-paper)!important; }
.sc-site .sc-section-white { background:#fffdf9!important; }
.sc-site .sc-section-head { text-align:center; margin-bottom:14px!important; }
.sc-site .sc-section-sub { color:var(--sc-muted); font-size:15px; text-align:center; margin-bottom:28px!important; }
.sc-site .sc-card-row .et_pb_column { display:flex; }
.sc-site .sc-service-card { flex:1; background:#fffdf9; border:1px solid #e9e0d3; border-radius:12px; padding:32px 24px; min-height:270px; box-shadow:0 9px 29px rgba(63,54,42,.045); }
.sc-site .sc-service-card h3 { margin-top:20px; margin-bottom:9px; font-size:25px; }
.sc-site .sc-service-card p { color:#59635d; font-size:14px; line-height:1.65; }
.sc-site .sc-number { display:flex; width:52px; height:52px; align-items:center; justify-content:center; border:1px solid #d7c4a3; border-radius:50%; background:#f4eadd; color:var(--sc-copper); font:22px Georgia,serif; }
.sc-site.sc-approach .et_pb_row { display:flex; align-items:center; gap:6%; }
.sc-site.sc-approach .et_pb_column { float:none; margin:0; width:50%; }
.sc-site .sc-approach-panel { border-radius:13px; background:#e7dcc9; padding:45px; position:relative; }
.sc-site .sc-approach-panel p { color:#26473d; font:italic clamp(24px,2.5vw,39px)/1.26 Georgia,serif; }
.sc-site .sc-approach-panel:after { content:'“'; position:absolute; top:6px; right:24px; font:100px Georgia,serif; color:rgba(155,106,57,.22); }
.sc-site .sc-approach-copy { color:#4e5b52; font-size:16px; }
.sc-site .sc-tag-list { margin-top:21px; line-height:2.8; }
.sc-site .sc-tag { display:inline-block; margin:0 5px 5px 0; padding:4px 12px; border:1px solid #dbcebb; border-radius:99px; background:#fffaf1; color:var(--sc-green); font-size:12px; font-weight:700; white-space:nowrap; }
.sc-site .sc-steps .et_pb_column { display:flex; }
.sc-site .sc-step { flex:1; padding:15px 25px 10px 3px; }
.sc-site .sc-step .sc-step-label { color:var(--sc-copper); letter-spacing:1.8px; font-weight:700; font-size:12px; margin-bottom:14px; }
.sc-site .sc-step h3 { font-size:27px; margin-bottom:11px; }
.sc-site .sc-step p { font-size:14px; color:var(--sc-muted); }
.sc-site .sc-note { background:#eee7da; border-radius:7px; padding:15px 22px; font-size:12px; color:#625a4c; text-align:center; }
.sc-site.sc-about .et_pb_row { display:flex; align-items:center; gap:6%; }
.sc-site.sc-about .et_pb_column { float:none; margin:0; width:47%; }
.sc-site.sc-about .et_pb_column:last-child { width:53%; }
.sc-site.sc-about .sc-portrait-visual { height:380px; border-radius:11px; }
.sc-site.sc-about .sc-portrait-shell { padding:0; max-width:430px; }
.sc-site.sc-about .sc-portrait-shell:before,.sc-site.sc-about .sc-portrait-shell:after,.sc-site.sc-about .sc-portrait-chip { display:none; }
.sc-site.sc-about .sc-portrait-visual img { object-position:center 18%; }
.sc-site .sc-about-copy { color:var(--sc-muted); font-size:15px; }
.sc-site.sc-fees { padding:46px 0!important; background:#e9ebe5!important; }
.sc-site.sc-fees .et_pb_row { display:flex; align-items:center; }
.sc-site.sc-fees p { color:#556057; font-size:14px; }
.sc-site.sc-faq .et_pb_toggle { background:#fffdf9; border:1px solid #e3d9c9; border-radius:9px; margin-bottom:12px; padding:18px 22px; }
.sc-site.sc-faq .et_pb_toggle_title { font-family:Georgia,serif; color:var(--sc-ink)!important; font-size:20px; }
.sc-site.sc-faq .et_pb_toggle_content { color:#536058; font-size:14px; }
.sc-site.sc-cta { padding:64px 0!important; background:var(--sc-green)!important; }
.sc-site.sc-cta .et_pb_row { display:flex; align-items:center; }
.sc-site.sc-cta h2,.sc-site.sc-cta p { color:#fffaf1!important; }
.sc-site.sc-cta h2 { font-size:clamp(35px,3.5vw,51px); }
.sc-site.sc-cta p { font-size:14px; opacity:.88; }
.sc-site.sc-contact { padding:74px 0!important; background:#fffaf2!important; }
.sc-site.sc-contact .et_pb_row { display:flex; align-items:center; gap:8%; }
.sc-site.sc-contact .et_pb_column { float:none; margin:0; width:50%; }
.sc-site .sc-contact-panel { padding:28px 32px; border-radius:10px; background:#f0e6d7; border:1px solid #e7dac8; }
.sc-site .sc-contact-panel p { font-size:14px; color:#47594f; }
.sc-site .sc-contact-panel strong { color:var(--sc-green); }
.sc-site .sc-contact-panel a { color:var(--sc-green); text-decoration:underline; text-underline-offset:3px; }
.sc-site .sc-disclosure { font-size:12px; color:#746f69; line-height:1.6; }
.sc-site.sc-footer { padding:29px 0!important; background:var(--sc-green-deep)!important; }
.sc-site.sc-footer p { font-size:12px; color:#eee7dc; }
.sc-site.sc-footer strong { color:#fff; font-size:16px; font-family:Georgia,serif; }
/* Right-to-left Arabic page / localized content */
.sc-site.sc-ar, .sc-ar { direction:rtl; }
.sc-site.sc-ar.sc-hero .et_pb_row, .sc-site.sc-ar.sc-about .et_pb_row, .sc-site.sc-ar.sc-approach .et_pb_row, .sc-site.sc-ar.sc-contact .et_pb_row { flex-direction:row; }
.sc-site.sc-ar h1,.sc-site.sc-ar h2,.sc-site.sc-ar h3,.sc-site.sc-ar p,.sc-site.sc-ar .et_pb_text { font-family:'Noto Naskh Arabic','Noto Sans Arabic',Tahoma,Arial,sans-serif; letter-spacing:0; }
.sc-site.sc-ar h1 { font-size:clamp(41px,4.5vw,68px); line-height:1.3; }
.sc-site.sc-ar h2 { line-height:1.32; }
.sc-site.sc-ar .sc-eyebrow { letter-spacing:0; }
.sc-site.sc-ar .sc-btn { font-family:Tahoma,Arial,sans-serif; }
.sc-site.sc-ar .sc-portrait-chip { left:auto;right:-16px; }
.sc-site.sc-ar .sc-hero-actions { justify-content:flex-start; }
@media (max-width:980px) {
 #main-header #logo { max-height:67%; }
 .sc-site.sc-hero { padding:38px 0 44px!important; }
 .sc-site.sc-hero .et_pb_row,.sc-site.sc-about .et_pb_row,.sc-site.sc-approach .et_pb_row,.sc-site.sc-contact .et_pb_row { display:block!important; }
 .sc-site.sc-hero .et_pb_column,.sc-site.sc-hero .et_pb_column:first-child,.sc-site.sc-hero .et_pb_column:last-child,.sc-site.sc-about .et_pb_column,.sc-site.sc-about .et_pb_column:last-child,.sc-site.sc-approach .et_pb_column,.sc-site.sc-contact .et_pb_column { width:100%!important; margin:0!important; }
 .sc-site.sc-hero .et_pb_column:first-child { margin-bottom:35px!important; }
 .sc-site .sc-portrait-shell { max-width:530px; margin:0 auto; }
 .sc-site.sc-section { padding:54px 0!important; }
 .sc-site .sc-service-card { min-height:230px; }
 .sc-site.sc-approach .et_pb_column:first-child,.sc-site.sc-about .et_pb_column:first-child { margin-bottom:28px!important; }
 .sc-site.sc-cta .et_pb_row,.sc-site.sc-fees .et_pb_row { display:block!important; }
 .sc-site.sc-cta .et_pb_column,.sc-site.sc-fees .et_pb_column { width:100%!important; margin-bottom:16px!important; }
 .sc-site.sc-contact .et_pb_column:first-child { margin-bottom:27px!important; }
}
@media (max-width:767px) {
 .sc-site .et_pb_row { width:89%; }
 .sc-site h1 { letter-spacing:-1.2px; }
 .sc-site .sc-hero-desc { font-size:15px; }
 .sc-site .sc-hero-actions { display:block; }
 .sc-site .sc-hero-actions .et_pb_button_module_wrapper { display:block; margin-bottom:9px!important; }
 .sc-site .sc-btn.et_pb_button { width:100%; }
 .sc-site .sc-portrait-visual { height:355px; }
 .sc-site.sc-trust .et_pb_row { display:block; }
 .sc-site.sc-trust .et_pb_column { width:100%; margin:0!important; }
 .sc-site .sc-trust-item { padding:5px 0; }
 .sc-site .sc-card-row .et_pb_column,.sc-site .sc-steps .et_pb_column { display:block; }
 .sc-site .sc-service-card { padding:24px; min-height:auto; }
 .sc-site .sc-approach-panel { padding:29px; }
 .sc-site.sc-about .sc-portrait-visual { height:300px; }
 .sc-site .sc-step { padding:8px 0 22px; }
 .sc-site .sc-contact-panel { padding:22px; }
 .sc-site.sc-footer .et_pb_column { margin-bottom:10px!important; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .sc-site .sc-btn.et_pb_button { transition:none; } }

.sc-site.sc-hero .et_pb_column:first-child .et_pb_button_module_wrapper { display:inline-block; margin:0 10px 10px 0!important; }

/* Reliable builder row centering, including on bare Divi installs */
.sc-site .et_pb_row { margin-left:auto!important; margin-right:auto!important; }
.sc-site.sc-hero .et_pb_column:first-child .et_pb_button_module_wrapper { margin-right:8px!important; }

.simon-layout-page #main-footer { display:none!important; }

@media (max-width:767px) { .sc-site.sc-hero .et_pb_column:first-child .et_pb_button_module_wrapper { display:block!important; margin-right:0!important; width:100%; } }

/* Simon Counseling 1.1 — brand assets and production layout refinements. */
#main-header #logo { width:auto; height:auto; max-width:min(360px,52vw); object-fit:contain; }
.sc-logo-inline { display:block; width:100%; max-width:450px; height:auto; }
.sc-site .sc-portrait-chip b { display:block!important; }
.sc-site .sc-portrait-chip .sc-portrait-name { display:block; line-height:1.5; }
.sc-site.sc-section.sc-section-paper { background:var(--sc-paper)!important; }
.sc-site.sc-section.sc-section-white { background:#fffdf9!important; }
.sc-site .sc-btn.et_pb_button { max-width:100%; white-space:normal; text-align:center; box-sizing:border-box; }
.sc-site .sc-btn:focus-visible, .sc-site a:focus-visible, #main-header a:focus-visible { outline:3px solid var(--sc-copper); outline-offset:4px; }
.sc-site.sc-ar .et_pb_text, .sc-site.sc-ar .et_pb_button_module_wrapper { text-align:right; }
.sc-site.sc-ar .sc-section-head, .sc-site.sc-ar .sc-section-sub, .sc-site.sc-ar .sc-trust-item, .sc-site.sc-ar .sc-note { text-align:center; }
.sc-site.sc-ar .sc-portrait-chip { direction:ltr; text-align:left; }
.sc-site.sc-ar .et_pb_toggle_title { padding-right:0; padding-left:30px; text-align:right; }
.sc-site.sc-ar .et_pb_toggle_title:before { right:auto; left:0; }
@media (max-width:980px) { #main-header #logo { max-width:min(310px,65vw); } }
@media (max-width:767px) { #main-header #logo { max-width:68vw; } }
