/*
Theme Name: Firmly Rooted
Template: kadence
Description: Firmly Rooted child theme for Kadence (free). Colors/typography matched to the original Elementor site (gold #B7966B, teal #033537, Roboto + Dosis, self-hosted).
Version: 1.1.0
Text Domain: firmlyrooted
*/
html:root{--bark:#033537;--leaf:#B7966B;--moss:#B7966B;--cream:#F6F6F6;--sand:#FFFFFF;--ink:#3F3F3F;--gold:#B7966B;
--global-palette1:#B7966B;--global-palette2:#997E5C;--global-palette3:#033537;--global-palette4:#3F3F3F;--global-palette5:#555555;--global-palette6:#7A7A7A;--global-palette7:#EEEEEE;--global-palette8:#F6F6F6;--global-palette9:#ffffff;
--global-body-font-family:Roboto,Arial,sans-serif;--global-heading-font-family:Roboto,Arial,sans-serif;--global-content-width:1100px;--global-content-edge-padding:1.25rem}
body{font-family:Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px}
h1,h2,h3,h4,h5,h6,.site-title{font-family:Roboto,Arial,sans-serif;color:var(--bark);line-height:1.2}
a{color:var(--leaf)}a:hover{color:var(--bark)}
/* header */
#masthead .site-header-main-section-left img,.site-branding img{max-height:56px;width:auto}
.site-header-wrap,#masthead .site-main-header-wrap{background:#fff}
#masthead{border-bottom:3px solid var(--moss);position:sticky;top:0;z-index:100}
.main-navigation .primary-menu-container>ul>li.menu-item>a,.header-navigation .header-menu-container>ul>li>a{font-family:Dosis,Roboto,Arial,sans-serif;font-weight:600;color:var(--bark);font-size:.95rem;padding-left:.55em;padding-right:.55em}
.header-navigation .header-menu-container>ul>li>a:hover,.header-navigation .current-menu-item>a,.header-navigation .current-menu-ancestor>a{color:var(--leaf)}
.header-navigation ul ul.sub-menu{background:#fff;border-top:3px solid var(--moss);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.header-navigation ul ul.sub-menu li a{color:var(--bark);font-family:Dosis,Roboto,Arial,sans-serif;font-size:.9rem;padding:.6em 1em}
.header-navigation ul ul.sub-menu li a:hover{color:var(--leaf);background:var(--cream)}
.menu-item.fr-give>a{background:var(--gold);color:#fff!important;border-radius:20px;margin-left:.3rem}
.menu-toggle-open{color:var(--bark)!important;border:2px solid var(--bark)!important;border-radius:6px}
#mobile-drawer .drawer-inner{background:#fff}#mobile-drawer .mobile-navigation a{color:var(--bark);font-family:Dosis,Roboto,Arial,sans-serif;font-weight:600}
#mobile-drawer .drawer-header .drawer-toggle{color:var(--bark)}
/* layout */
.content-bg,body.content-style-unboxed .site{background:var(--cream)}
.entry-content-wrap{padding:0}.single-content{margin:0}
.entry-hero-container-inner{background:var(--bark)}.entry-hero .entry-title,.page-title{color:#fff}
.entry-hero{background:var(--bark)}
.fr-full{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:100vw!important;width:100vw}
.fr-section{padding:3.5rem 1.25rem!important;margin:0!important}
.fr-section>.wp-block-group__inner-container,.fr-section>*{max-width:1100px;margin-left:auto!important;margin-right:auto!important}
.fr-tint{background:var(--sand)}
.fr-hero{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.78)),radial-gradient(circle at 30% 20%,#B7966B,#033537 75%);color:#fff;text-align:center;padding:4.5rem 1.25rem 4rem!important}
.fr-hero.has-photo{background-size:cover;background-position:center}
.fr-hero h1{color:#fff;font-size:clamp(2rem,6vw,3.4rem);margin:.2rem 0}.fr-hero p{max-width:680px;margin:1rem auto;font-size:1.15rem;color:#fff}
.fr-hero .fr-logo img{width:150px;background:#fff;border-radius:16px;padding:10px}
.fr-pagehead{background:var(--bark);color:#fff;padding:2.6rem 1.25rem!important}
.fr-pagehead h1{color:#fff;margin:0;font-size:clamp(1.8rem,4.5vw,2.6rem)}.fr-pagehead p{color:#e6e6e6;margin:.4rem 0 0}
.fr-verse,.verse{font-style:italic;opacity:.92}
.fr-grid{display:grid!important;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fr-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.fr-card{background:#fff;border-radius:16px;padding:1.4rem!important;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);border-top:5px solid var(--moss);margin:0!important}
.fr-card h3{margin-top:0}.fr-card img{border-radius:10px}
.fr-ph{background:#fff3cd;border:1px dashed #b8860b;color:#7a5a00;padding:.1rem .35rem;border-radius:4px;font-family:monospace;font-size:.85em}
.wp-block-button__link,.fr-btn{background:var(--gold)!important;color:#fff!important;border-radius:20px!important;padding:.8rem 1.4rem!important;font-family:Dosis,Roboto,Arial,sans-serif;font-weight:700;text-decoration:none;border:0}
.is-style-outline .wp-block-button__link{background:transparent!important;border:2px solid currentColor!important;color:var(--bark)!important}
.fr-hero .is-style-outline .wp-block-button__link{color:#fff!important;border-color:#fff!important}
.wp-block-buttons.is-content-justification-center{justify-content:center}
.fr-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;display:block}
.fr-video img{width:100%;height:100%;object-fit:cover;opacity:.85;border-radius:0}
.fr-video:after{content:"";position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(183,150,107,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/38px no-repeat}
.fr-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px}
details.wp-block-details{background:#fff;border-radius:10px;padding:.8rem 1.1rem;margin:.6rem 0;box-shadow:0 1px 6px rgba(0,0,0,.07)}
details.wp-block-details summary{font-family:Roboto,Arial,sans-serif;font-weight:700;color:var(--bark);cursor:pointer}
table{border-collapse:collapse;width:100%}td,th{padding:.55rem;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
.fr-gallery img{aspect-ratio:1;object-fit:cover;border-radius:10px}
.fr-songs{columns:2 280px;column-gap:2rem;padding-left:1.2rem}.fr-songs li{break-inside:avoid;margin:.2rem 0}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;padding:.7rem;border:1px solid #dddfe3;border-radius:8px;background:#fff}
.wpcf7 input[type=submit]{background:var(--gold);color:#fff;border:0;border-radius:20px;padding:.8rem 1.6rem;font-weight:700;font-family:Dosis,Roboto,Arial,sans-serif}
/* archives (devotions, news) */
.archive .site-main .entry,.blog .site-main .entry{background:#fff;border-radius:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);border-top:5px solid var(--moss)}
.archive .entry-hero,.blog .entry-hero{background:var(--bark)}
/* footer */
.fr-roots{height:40px;background:repeating-linear-gradient(100deg,transparent 0 18px,rgba(183,150,107,.35) 18px 20px)}
.fr-footer{background:#2B2B2B;color:#e6e6e6;padding:2.5rem 1.25rem;font-size:.95rem}
.fr-footer a{color:#D9C3A3}.fr-footer .fr-wrap{max-width:1100px;margin:auto;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.fr-footer strong{color:#fff;font-family:Roboto,Arial,sans-serif}
.fr-footer .fr-copy{max-width:1100px;margin:1.5rem auto 0;border-top:1px solid rgba(234,223,203,.2);padding-top:1rem;font-size:.85rem;opacity:.8}
@media(max-width:700px){.fr-section{padding:2.5rem 1rem!important}.fr-hero{padding:3rem 1rem!important}body{font-size:16px}}
.fr-grid>.wp-block-group__inner-container,.fr-card>.wp-block-group__inner-container{display:contents}
.fr-section>.wp-block-group__inner-container>*:first-child{margin-top:0}
.fr-logo{text-align:center}.fr-logo img{display:inline-block}
.fr-card .wp-block-buttons{margin-top:1rem}
.fr-card>.wp-block-group__inner-container>*:first-child{margin-top:0}
.fr-card td:first-child{white-space:nowrap;width:1%}
.site-branding .custom-logo{max-height:60px;width:auto}
.fr-section img:not(.fr-video img){max-height:480px;object-fit:cover}
/* ===== v1.1 original-site look ===== */
body{font-family:Roboto,Arial,sans-serif;font-weight:400;color:#3F3F3F;background:#F6F6F6;font-size:16px}
h1,h2,h3,h4,h5,h6{font-family:Roboto,Arial,sans-serif;font-weight:600;color:#B7966B}
#masthead{border-bottom:0;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.header-navigation .header-menu-container>ul>li>a{font-family:Roboto,Arial,sans-serif;font-weight:500;color:#555;font-size:15px;border-bottom:2px solid transparent}
.header-navigation .header-menu-container>ul>li>a:hover,.header-navigation .current-menu-item>a{color:#B7966B;border-bottom-color:#B7966B}
.menu-item.fr-give>a{border-radius:20px;border:1px solid #B7966B}
.wp-block-button__link,.fr-btn,.wpcf7 input[type=submit]{font-family:Roboto,Arial,sans-serif!important;font-weight:500!important;border:1px solid #B7966B!important;border-radius:20px!important;padding:.6rem 1.5rem!important;font-size:15px}
.wp-block-button__link:hover,.fr-btn:hover{background:#997E5C!important}
.is-style-outline .wp-block-button__link{background:#fff!important;color:#B7966B!important;border:1px solid #B7966B!important}
.fr-card{border-top:0}.fr-pagehead{background:#033537}.fr-pagehead h1{color:#fff}
.fr-footer{font-family:Dosis,Roboto,Arial,sans-serif;font-weight:300;font-size:17px}.fr-footer strong{font-family:Dosis,Roboto,sans-serif;font-weight:600;color:#fff;text-transform:capitalize;font-size:20px}.fr-footer a{color:#B7966B}
/* buttons (original pill style) */
.fr-ob{display:inline-block;background:#B7966B;color:#fff!important;border:1px solid #B7966B;border-radius:20px;padding:.55rem 1.5rem;font-weight:500;font-size:15px;text-decoration:none;transition:.3s}
.fr-ob:hover{background:#997E5C;border-color:#997E5C}
.fr-ob-line{background:#fff;color:#B7966B!important}.fr-ob-line:hover{background:#B7966B;color:#fff!important}
.fr-ob-block{display:block;text-align:center;color:#000!important;border-color:#dddfe3;border-radius:8px;margin:.45rem 0;font-weight:600}
/* hero */
.fr-ohero{background:#2B2B2B center/cover no-repeat;min-height:min(60vw,520px);display:flex;align-items:flex-end;margin-top:0!important}
.fr-ohero-in{max-width:1140px;width:100%;margin:0 auto;padding:3rem 1.25rem}
.fr-ohero h1{color:#fff;font-size:clamp(2rem,4.5vw,40px);margin:0 0 .3rem;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.fr-ohero-sub{color:#fff;margin:0 0 1rem;font-size:1.1rem}
.fr-obtns{display:flex;gap:.8rem;flex-wrap:wrap}
/* bento grid */
.fr-bento-wrap{background:#F6F6F6;padding:2.5rem 1.25rem 3.5rem}
.fr-bento{max-width:1140px;margin:0 auto;display:grid;gap:22px;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;
grid-template-areas:"t t t t t t t t p p p p" "n n n n n n n n p p p p" "c c c c c c c c i i i i" "s s s s s s s s q q q q" "k k k k k k k k q q q q" "v v v v w w w w d d d d" "v v v v w w w w x x x x"}
.fr-b-title{grid-area:t;margin:0;align-self:end;font-size:24px}
.fr-b{background:#fff;border-radius:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);padding:1.6rem;overflow:hidden;color:#3F3F3F;text-decoration:none;position:relative}
.fr-b h3{font-size:clamp(1.8rem,3.4vw,40px);margin:0 0 .6rem}.fr-b h4{font-size:20px;margin:0 0 .5rem}
.fr-b-new{grid-area:n}.fr-b-pledge{grid-area:p;padding:14px;display:flex;align-items:center}.fr-b-pledge img{width:100%;height:auto;border-radius:8px}
.fr-b-campus{grid-area:c}.fr-b-campus h3{font-size:clamp(1.5rem,2.6vw,30px)}
.fr-campus3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.fr-campus3>div{background:#F6F6F6;border-radius:8px;padding:1rem;font-size:.93rem}
.fr-b-involved{grid-area:i;display:flex;flex-direction:column;justify-content:center}.fr-b-involved small{color:#7A7A7A}.fr-b-involved p{margin:.2rem 0 .6rem;font-size:1.05rem}
.fr-b-slider{grid-area:s;padding:1.6rem 3.5rem;background:#F6F6F6;box-shadow:inset 0 0 0 12px #fff,0 10px 15px -3px rgba(0,0,0,.1)}
.fr-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px}.fr-slides::-webkit-scrollbar{display:none}
.fr-slide{flex:0 0 100%;scroll-snap-align:start;display:flex;gap:1.2rem;align-items:center;background:#fff;border-radius:8px;padding:1.4rem;box-shadow:0 4px 14px rgba(0,0,0,.08)}
@media(min-width:900px){.fr-slide{flex-basis:calc(50% - 9px)}}
.fr-sdate{text-align:center;min-width:90px}.fr-sdate b{display:block;font-size:2.2rem;color:#033537;font-weight:300}.fr-sdate span{font-size:.8rem;color:#7A7A7A;text-transform:uppercase}
.fr-slide h4{color:#2B2B2B;font-size:1.2rem}.fr-slide p{margin:0;font-size:.95rem}
.fr-sprev,.fr-snext{position:absolute;top:42%;width:34px;height:34px;border-radius:4px;border:1px solid #ddd;background:#fff;color:#555;font-size:22px;line-height:1;cursor:pointer}.fr-sprev{left:12px}.fr-snext{right:12px}
.fr-snote{font-size:.85rem;margin:1rem 0 0}
.fr-b-contact{grid-area:q;font-size:.95rem}
.fr-b-cal{grid-area:k;padding:12px;display:block}.fr-b-cal img{width:100%;height:auto;border-radius:8px;display:block}.fr-b-cal span{display:block;padding:.7rem .4rem 0;color:#B7966B;font-weight:500}
.fr-b-vid{grid-area:v}.fr-b-vid2{grid-area:w}.fr-b-devo{grid-area:d;background:#033537;color:#e6e6e6}.fr-b-devo h4{color:#B7966B}
.fr-b-verse{grid-area:x;background:#B7966B;color:#fff}.fr-b-verse p{font-style:italic;margin:0}.fr-b-verse h2{color:#fff;font-size:1.25rem;margin:.7rem 0 0}.fr-b-verse small{opacity:.9}
.fr-b .fr-video{border-radius:8px}
@media(max-width:900px){.fr-bento{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "n n" "p p" "c c" "i q" "s s" "k k" "v v" "w w" "d x"}}
@media(max-width:600px){.fr-bento{grid-template-columns:1fr;grid-template-areas:"t" "n" "p" "c" "i" "s" "k" "v" "w" "d" "x" "q"}.fr-campus3{grid-template-columns:1fr}.fr-b-slider{padding:1.2rem 2.6rem}.fr-slide{flex-direction:column;align-items:flex-start}.fr-ohero{min-height:340px}}
.fr-hero .is-style-outline .wp-block-button__link,.fr-pagehead .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border-color:#fff!important}
/* ===== /aaron business-card page ===== */
.fr-card-page{background:linear-gradient(180deg,#033537 0,#033537 230px,#F6F6F6 230px);padding:1.25rem 1rem 3rem!important}
.fr-card-page>*{max-width:860px;margin-left:auto!important;margin-right:auto!important}
.fr-card-page .fr-kicker{color:#B7966B;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:500;margin:.4rem 0 .9rem;text-align:center}
.fr-cv{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 18px 40px -12px rgba(0,0,0,.45)}
.fr-cv iframe,.fr-cv-btn{position:absolute;inset:0;width:100%;height:100%;border:0}
.fr-cv-btn{padding:0;cursor:pointer;background:#000 center/cover}
.fr-cv-btn img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,filter .4s;filter:brightness(.85)}
.fr-cv-btn:hover img,.fr-cv-btn:focus img{transform:scale(1.03);filter:brightness(.7)}
.fr-cv-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#B7966B;box-shadow:0 0 0 10px rgba(183,150,107,.35),0 8px 24px rgba(0,0,0,.4);transition:transform .25s}
.fr-cv-play:after{content:"";position:absolute;left:34px;top:26px;border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent #fff}
.fr-cv-btn:hover .fr-cv-play{transform:scale(1.08)}
.fr-card-page h1{color:#B7966B;font-size:clamp(1.9rem,7vw,2.8rem);text-align:center;margin:1.6rem 0 .4rem}
.fr-card-page .fr-lede{text-align:center;font-size:1.08rem;max-width:560px;margin:0 auto 1.4rem!important}
.fr-card-btns{display:grid;gap:.7rem;grid-template-columns:1fr 1fr;max-width:560px!important}
.fr-card-btns .fr-ob{text-align:center;padding:.85rem 1rem;font-size:16px}
.fr-card-btns .fr-wide{grid-column:1/-1}
@media(min-width:700px){.fr-card-page{padding-top:2.5rem!important}.fr-card-btns{grid-template-columns:repeat(4,1fr);max-width:860px!important}.fr-card-btns .fr-wide{grid-column:auto}}
