/* =====================================================================
   Schenk Insurance Partners — custom brand layer
   Loaded LAST so it overrides the template + default-theme.
   Palette from logo: forest #347539 / olive #74a446 / charcoal #212121
   ===================================================================== */

:root{
	--green:#347539;        /* primary brand green (logo dark leaf) */
	--green-deep:#2a5e2e;   /* darker green for text links / contrast */
	--green-darkest:#1f3d22;/* footer / dark sections */
	--olive:#74a446;        /* secondary brand green (logo light leaf) */
	--olive-soft:#eef4e9;   /* very light sage tint for section bands */
	--ink:#212121;          /* wordmark charcoal / headings */
	--body:#5a6a5d;         /* muted body text with a green cast */
	--line:#e4eae0;
}

/* ---------- Base typography / readability ---------- */
body{ color:#54605a; font-size:16px; line-height:1.8; }
h1,h2,h3,h4,h5,h6{ color:var(--ink); }
p{ margin-bottom:18px; }
strong{ color:var(--ink); }

/* Body-copy links: deeper green for AA contrast on white */
.content a, p a, .text a, .panel-body a{ color:var(--green-deep); text-decoration:underline; }
.content a:hover, p a:hover{ color:var(--green); }

/* ---------- Accessibility: skip link + visible focus ---------- */
.skip-link{
	position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; z-index:100000;
}
.skip-link:focus{
	left:10px; top:10px; width:auto; height:auto; padding:12px 20px;
	background:#fff; color:var(--green-deep); font-weight:700; border:2px solid var(--green);
	border-radius:4px; box-shadow:0 4px 18px rgba(0,0,0,.25);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.theme-btn:focus-visible{
	outline:3px solid #1b5e20 !important;
	outline-offset:2px !important;
}
.sr-only{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---------- Buttons ---------- */
.btn-style-one{
	background-color:var(--green); border:2px solid var(--green);
	border-radius:4px; font-weight:600; letter-spacing:.3px;
}
.btn-style-one:hover{ color:var(--green); background:#fff; }
.theme-btn{ cursor:pointer; transition:all .3s ease; }

/* Outline button used on dark hero / green bands */
.btn-hero-outline{
	display:inline-block; padding:11px 32px; line-height:24px; font-size:16px; font-weight:600;
	color:#fff; border:2px solid #fff; border-radius:4px; background:transparent; letter-spacing:.3px;
}
.btn-hero-outline:hover{ background:#fff; color:var(--green-deep); }

/* Solid white button (used on green CTA bands) */
.btn-on-green{
	display:inline-block; padding:11px 32px; line-height:24px; font-size:16px; font-weight:600;
	color:var(--green-deep); background:#fff; border:2px solid #fff; border-radius:4px; letter-spacing:.3px;
}
.btn-on-green:hover{ background:transparent; color:#fff; }

/* ---------- Header top bar ---------- */
.header-top{ background-color:var(--green-darkest); }
.header-top .top-left ul li,
.header-top .top-right > ul > li{ color:#e8f0e6; }
.header-top a{ color:#cfe0cb; }
.header-top a:hover{ color:#fff; }
.header-top .top-left ul li i{ color:var(--olive); margin-right:7px; }

/* ---------- Header / nav ---------- */
.main-header .header-upper{ background:#ffffff; }
.main-header .header-upper .logo img,
.sticky-header .logo img{ max-height:62px; width:auto; }
.main-menu .navigation > li > a{ color:var(--ink); font-weight:600; }
.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current > a,
.main-menu .navigation > li.current-menu-item > a{ color:var(--green); }
.sticky-header{ background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.10); }

/* "Schedule a no-cost Review" header button */
.header-cta{
	display:inline-block; margin:28px 0 28px 26px; padding:12px 24px;
	background:var(--green); color:#fff !important; font-weight:700; font-size:15px;
	border-radius:4px; border:2px solid var(--green); text-transform:none; letter-spacing:.2px;
	transition:all .3s ease; vertical-align:middle;
}
.header-cta:hover{ background:#fff; color:var(--green-deep) !important; }
.sticky-header .header-cta{ margin:24px 0 24px 22px; }
@media (max-width:1023px){ .header-cta{ display:none; } }

/* ---------- Section title ---------- */
.sec-title h2{ color:var(--ink); }
.sec-title h2 span{ color:var(--green); }
.sec-title .sub-title{ color:var(--green-deep); font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.section-pad{ padding:90px 0; }
.bg-sage{ background:var(--olive-soft); }

/* ---------- HERO (replaces revolution slider) ---------- */
.schenk-hero{
	position:relative;
	background:linear-gradient(120deg,#1f3d22 0%,#2a5e2e 45%,#347539 100%);
	background-size:cover; background-position:center;
	padding:120px 0 120px;
	color:#fff;
}
.schenk-hero .hero-texture{
	position:absolute; inset:0; background:url(../images/background/texture-2.jpg) center/cover;
	opacity:.10; mix-blend-mode:overlay; pointer-events:none;
}
.schenk-hero .auto-container{ position:relative; z-index:2; }
.hero-content{ max-width:760px; }
.hero-eyebrow{
	display:inline-block; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
	color:#d7e8cf; margin-bottom:18px; padding:6px 14px; border:1px solid rgba(255,255,255,.35); border-radius:30px;
}
.schenk-hero h1{
	color:#fff; font-size:46px; line-height:1.18; font-weight:700; margin:0 0 18px;
}
.hero-tagline{ font-size:21px; font-weight:600; color:#eaf4e4; margin-bottom:18px; }
.hero-text{ font-size:17px; color:#e4efdf; margin-bottom:14px; max-width:680px; }
.hero-note{ font-size:15px; color:#cfe0cb; margin-bottom:26px; font-style:italic; }
.hero-btns .theme-btn,
.hero-btns .btn-hero-outline{ margin:8px 14px 8px 0; }
@media (max-width:767px){ .schenk-hero{ padding:70px 0; } .schenk-hero h1{ font-size:32px; } .hero-tagline{ font-size:18px; } }

/* ---------- Generic content blocks ---------- */
.lead-copy{ font-size:18px; color:#4c5a4f; }
.content-section{ padding:80px 0; }
.content-section .text p{ margin-bottom:16px; }

/* check list */
.check-list{ margin:10px 0 20px; }
.check-list li{
	position:relative; padding:6px 0 6px 34px; color:#4c5a4f; font-size:16px; line-height:1.7;
}
.check-list li:before{
	content:'\f00c'; font-family:'Font Awesome 5 Free'; font-weight:900;
	position:absolute; left:0; top:6px; color:#fff; background:var(--green);
	width:22px; height:22px; border-radius:50%; font-size:11px; text-align:center; line-height:22px;
}

/* ---------- Who-we-help cards ---------- */
.help-cards{ margin-top:10px; }
.help-card{
	background:#fff; border:1px solid var(--line); border-radius:10px; padding:34px 28px;
	height:100%; transition:all .3s ease; margin-bottom:30px;
}
.help-card:hover{ box-shadow:0 16px 38px rgba(31,61,34,.13); transform:translateY(-4px); border-color:#cfe0c8; }
.help-card .icon{
	width:64px; height:64px; border-radius:14px; background:var(--olive-soft); color:var(--green);
	font-size:28px; line-height:64px; text-align:center; margin-bottom:20px;
}
.help-card h3{ font-size:21px; margin-bottom:12px; }
.help-card h3 a{ color:var(--ink); }
.help-card:hover h3 a{ color:var(--green); }
.help-card p{ color:#5a6a5d; margin-bottom:18px; }
.help-card .read-more{ color:var(--green-deep); font-weight:600; }
.help-card .read-more:hover{ color:var(--green); }

/* ---------- How-we-work steps ---------- */
.work-steps{ counter-reset:step; }
.work-step{
	position:relative; padding:22px 26px 22px 84px; background:#fff; border:1px solid var(--line);
	border-radius:10px; margin-bottom:18px;
}
.work-step:before{
	counter-increment:step; content:counter(step);
	position:absolute; left:24px; top:50%; transform:translateY(-50%);
	width:44px; height:44px; border-radius:50%; background:var(--green); color:#fff;
	font-weight:700; font-size:19px; text-align:center; line-height:44px;
}
.work-step h3{ font-size:18px; margin:0 0 4px; }
.work-step p{ margin:0; color:#5a6a5d; }

/* ---------- Maria message / photo placeholder ---------- */
.maria-section{ background:var(--olive-soft); }
.maria-photo{
	background:linear-gradient(135deg,#cfe0c8,#9bc090); border-radius:12px; min-height:360px;
	display:flex; align-items:center; justify-content:center; color:#2a5e2e; text-align:center;
	font-weight:600; padding:30px; border:1px dashed #6f9e63;
}
.maria-photo span{ display:block; font-size:15px; opacity:.85; margin-top:8px; font-weight:500; }

/* ---------- CTA band (full-width green) ---------- */
.cta-band{
	background:linear-gradient(120deg,#2a5e2e,#347539); color:#fff; padding:64px 0; text-align:center;
}
.cta-band h2{ color:#fff; font-size:32px; margin-bottom:14px; }
.cta-band p{ color:#e6f1e1; font-size:18px; max-width:720px; margin:0 auto 26px; }
.cta-band .theme-btn,
.cta-band .btn-on-green,
.cta-band .btn-hero-outline{ margin:8px 10px; }

/* ---------- FAQ accordion ---------- */
.faqs-section{ padding:80px 0; }
.faq-accordion .panel{
	border:1px solid var(--line) !important; border-radius:8px !important; margin-bottom:14px; box-shadow:none;
	overflow:hidden;
}
.faq-accordion .panel-heading{ padding:0; background:#fff; }
.faq-accordion .panel-heading a{
	display:block; padding:18px 50px 18px 22px; position:relative; font-size:17px; font-weight:600;
	color:var(--ink); background:#fff; text-decoration:none;
}
.faq-accordion .panel-heading a:after{
	content:'\f067'; font-family:'Font Awesome 5 Free'; font-weight:900; position:absolute;
	right:20px; top:50%; transform:translateY(-50%); color:var(--green); font-size:14px;
}
.faq-accordion .panel-heading a:not(.collapsed){ background:var(--green); color:#fff; }
.faq-accordion .panel-heading a:not(.collapsed):after{ content:'\f068'; color:#fff; }
.faq-accordion .panel-body{ padding:18px 22px; border-top:1px solid var(--line); color:#54605a; }
.faq-accordion .panel-body p:last-child{ margin-bottom:0; }

/* ---------- Contact ---------- */
.contact-form .form-group{ margin-bottom:20px; }
.contact-form label{ display:block; font-weight:600; color:var(--ink); margin-bottom:7px; font-size:15px; }
.contact-form input,
.contact-form select,
.contact-form textarea{
	width:100%; padding:12px 16px; border:1px solid #cfd8cc; border-radius:6px; font-size:15px;
	line-height:24px; color:#333; background:#fff; transition:border-color .2s ease;
}
.contact-form textarea{ height:150px; resize:vertical; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{ border-color:var(--green); outline:none; box-shadow:0 0 0 3px rgba(52,117,57,.15); }
.hp-field{ position:absolute !important; left:-5000px !important; top:auto; width:1px; height:1px; overflow:hidden; }

.info-list{ margin:0; }
.info-list li{ position:relative; padding:0 0 26px 60px; min-height:48px; }
.info-list li .icon{
	position:absolute; left:0; top:2px; width:46px; height:46px; border-radius:10px;
	background:var(--olive-soft); color:var(--green); text-align:center; line-height:46px; font-size:19px;
}
.info-list li .label{ display:block; font-size:13px; text-transform:uppercase; letter-spacing:1px; color:#8a978c; font-weight:600; }
.info-list li .value{ display:block; font-size:17px; color:var(--ink); font-weight:600; }
.info-list li .value a{ color:var(--ink); }
.info-list li .value a:hover{ color:var(--green); }

.alert-box{ padding:16px 20px; border-radius:8px; margin-bottom:24px; font-size:15px; }
.alert-success{ background:#e8f5e9; border:1px solid #a5d6a7; color:#1b5e20; }
.alert-error{ background:#fdecea; border:1px solid #f5c6cb; color:#a12622; }

.disclaimer-box{
	background:#f6f8f4; border:1px solid var(--line); border-left:4px solid var(--olive);
	border-radius:6px; padding:22px 24px; margin-top:34px; font-size:13.5px; line-height:1.7; color:#6a756c;
}
.disclaimer-box p{ margin-bottom:10px; }
.disclaimer-box p:last-child{ margin-bottom:0; }
.disclaimer-box strong{ color:#4c5a4f; }

/* ---------- Page title banner ---------- */
.page-title{ padding:120px 0 90px; }
.page-title:before{
	background:linear-gradient(180deg, rgba(20,45,24,.86) 0%, rgba(31,61,34,.72) 100%) !important;
	opacity:1 !important;
}
.page-title h1{ font-size:44px; text-transform:none; }
.page-title .bread-crumb li,
.page-title .bread-crumb li a{ color:#e8f0e6; }
.page-title .bread-crumb li a:hover{ color:#fff; }

/* ---------- Events ---------- */
.event-card{
	background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:30px;
	display:flex; flex-wrap:wrap; align-items:stretch;
}
.event-card .event-date{
	background:var(--green); color:#fff; padding:26px 22px; text-align:center; min-width:120px;
	display:flex; flex-direction:column; justify-content:center;
}
.event-card .event-date .m{ font-size:15px; text-transform:uppercase; letter-spacing:2px; }
.event-card .event-date .d{ font-size:40px; font-weight:700; line-height:1; margin:4px 0; }
.event-card .event-body{ padding:24px 26px; flex:1 1 320px; }
.event-card .event-body h3{ font-size:21px; margin:0 0 8px; }
.event-card .event-meta{ color:var(--green-deep); font-weight:600; font-size:14px; margin-bottom:10px; }
.event-card .event-meta i{ margin-right:6px; }
.event-card .event-body p{ color:#5a6a5d; margin-bottom:16px; }

/* ---------- Footer ---------- */
.main-footer{ background:var(--green-darkest); }
.main-footer:before{ content:''; position:absolute; inset:0; background:url(../images/background/texture-3.jpg) center/cover; opacity:.06; }
.main-footer .auto-container{ position:relative; z-index:2; }
.main-footer .footer-widget .logo img{ max-width:240px; margin-bottom:18px; }
.main-footer .text,
.main-footer .widget-content,
.main-footer .link-widget ul li a,
.main-footer .footer-widget ul li{ color:#c7d6c2; }
.main-footer .link-widget ul li a:hover{ color:#fff; }
.main-footer .footer-widget ul li span{ color:#fff; font-weight:600; }
.main-footer .footer-widget .footer-title h2{ color:#fff; }
.main-footer .social-icon-two li a{ color:#cfe0cb; border:1px solid rgba(255,255,255,.25); width:38px; height:38px; line-height:38px; text-align:center; border-radius:50%; display:block; }
.main-footer .social-icon-two li a:hover{ background:var(--olive); color:#fff; border-color:var(--olive); }
.main-footer .footer-bottom{ background:rgba(0,0,0,.22); }
.main-footer .footer-bottom .copyright,
.main-footer .footer-bottom .foter-nav li a{ color:#bcccb7; }
.main-footer .footer-bottom .foter-nav li a:hover{ color:#fff; }
.footer-disclaimer{ font-size:12px; color:#9fb09a; line-height:1.6; padding:18px 0 0; max-width:980px; }

/* ---------- Scroll to top ---------- */
.scroll-to-top{ background:var(--green); border-radius:6px; }
.scroll-to-top:hover{ background:var(--green-darkest); }

/* ---------- Mobile heading safety ---------- */
@media (max-width:767px){
	.sec-title h2{ font-size:26px; line-height:1.3; }
	.page-title h1{ font-size:30px; }
	.cta-band h2{ font-size:26px; }
	h1, h2, h3{ overflow-wrap:break-word; word-wrap:break-word; }
	.header-top .top-left ul li{ display:block; }
}

/* ---------- Misc helpers ---------- */
.text-green{ color:var(--green); }
.mt-0{ margin-top:0; }
.mb-30{ margin-bottom:30px; }
img{ max-width:100%; height:auto; }
