/*
Theme Name: Blessed Forevermore
Description: Child theme of Blocksy keeping the original Blessed Forevermore store look (Assistant type, black on white, square buttons, navy and royal blue schemes) for a blog about long marriages.
Template: blocksy
Version: 1.0.0
Text Domain: forevermore
*/

:root{--bfm-fg:18,18,18;--bfm-bg:255,255,255;--bfm-soft:243,243,243;--bfm-navy:36,40,51;--bfm-blue:51,79,180;--bfm-font:'Assistant',system-ui,-apple-system,'Segoe UI',sans-serif;--bfm-page:1200px}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bfm{margin:0;background:rgb(var(--bfm-bg));color:rgba(var(--bfm-fg),.75);font-family:var(--bfm-font);font-size:18px;line-height:1.8;letter-spacing:.06px;-webkit-font-smoothing:antialiased}
.bfm h1,.bfm h2,.bfm h3{font-family:var(--bfm-font);font-weight:400;color:rgb(var(--bfm-fg));letter-spacing:.6px;line-height:1.3}
.bfm a{color:rgb(var(--bfm-fg))}
.bfm-page{max-width:var(--bfm-page);margin:0 auto;padding:0 50px}
.bfm-ico{display:inline-block;vertical-align:middle;flex:none}
.bfm-skip{position:absolute;left:-9999px}
.bfm-skip:focus{left:10px;top:10px;background:#fff;padding:8px 12px;z-index:1000}

/* color schemes (the store's) */
.scheme-dark{background:rgb(var(--bfm-navy));color:rgba(255,255,255,.78)}
.scheme-dark h1,.scheme-dark h2,.scheme-dark strong{color:#fff}
.scheme-blue{background:rgb(var(--bfm-blue));color:rgba(255,255,255,.8)}
.scheme-blue h1,.scheme-blue h2,.scheme-blue strong{color:#fff}
.scheme-light{background:rgb(var(--bfm-soft))}

/* announcement + header */
.bfm-announce{text-align:center}
.bfm-announce p{margin:0;padding:10px 20px;font-size:13px;letter-spacing:1.3px;color:#fff}
.bfm-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid rgba(var(--bfm-fg),.08)}
.bfm-header__row{display:flex;align-items:center;gap:30px;min-height:84px}
.bfm-logo{font-size:26px;font-weight:600;letter-spacing:1px;text-decoration:none;color:rgb(var(--bfm-fg))!important;white-space:nowrap}
.bfm-nav{flex:1}
.bfm-nav>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.bfm-nav a,.bfm-nav button{display:inline-flex;align-items:center;gap:4px;padding:10px 12px;font:400 15px var(--bfm-font);letter-spacing:.6px;color:rgba(var(--bfm-fg),.75);text-decoration:none;background:none;border:0;cursor:pointer}
.bfm-nav a:hover,.bfm-nav button:hover{color:rgb(var(--bfm-fg));text-decoration:underline;text-underline-offset:4px}
.bfm-nav a[aria-current]{color:rgb(var(--bfm-fg));text-decoration:underline;text-underline-offset:4px}
.bfm-nav__drop{position:relative}
.bfm-nav__drop ul{display:none;position:absolute;top:100%;left:0;min-width:240px;list-style:none;margin:0;padding:14px 0;background:#fff;border:1px solid rgba(var(--bfm-fg),.12)}
.bfm-nav__drop.is-open ul{display:block}
.bfm-nav__drop ul a{display:block;padding:6px 20px}
.bfm-nav__drop .bfm-ico{width:14px;height:14px;transition:transform .2s}
.bfm-nav__drop.is-open .bfm-ico{transform:rotate(180deg)}
.bfm-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;color:rgb(var(--bfm-fg));cursor:pointer;padding:0}
.bfm-iconbtn:hover .bfm-ico{transform:scale(1.07)}
.bfm-burger{display:none}
.bfm-searchbar{display:none;border-top:1px solid rgba(var(--bfm-fg),.08);padding:16px 0}
.bfm-search-open .bfm-searchbar{display:block}
.bfm-searchbar form{display:flex;gap:10px;align-items:center}
.bfm-field{flex:1;display:flex;border:1px solid rgba(var(--bfm-fg),.55)}
.bfm-field input{flex:1;border:0;padding:12px 15px;font:16px var(--bfm-font);outline:none}
.bfm-field button{background:none;border:0;padding:0 14px;cursor:pointer;color:rgb(var(--bfm-fg))}

/* buttons + links */
.bfm-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 30px;background:rgb(var(--bfm-fg));color:#fff!important;font:400 15px var(--bfm-font);letter-spacing:1px;text-decoration:none;border:1px solid rgb(var(--bfm-fg));transition:box-shadow .2s}
.bfm-button:hover{box-shadow:0 0 0 1.3px rgb(var(--bfm-fg))}
.bfm-button--light{background:#fff;color:rgb(var(--bfm-fg))!important;border-color:#fff}
.bfm-button--light:hover{box-shadow:0 0 0 1.3px #fff}
.bfm-button--ghost{background:transparent;color:#fff!important;border-color:#fff}
.bfm-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.bfm-link{color:rgb(var(--bfm-fg));text-decoration:underline;text-underline-offset:3px;font-size:15px;letter-spacing:.6px}
.bfm-link:hover{text-decoration-thickness:2px}
.bfm-eyebrow{display:inline-block;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:rgba(var(--bfm-fg),.7);text-decoration:none}
.scheme-blue .bfm-eyebrow,.scheme-dark .bfm-eyebrow{color:rgba(255,255,255,.75)}

/* banner (the store's image banner, now type only) */
.bfm-banner{padding:110px 0 120px;text-align:center}
.bfm-banner__inner{max-width:900px}
.bfm-banner h1{font-size:56px;line-height:1.15;margin:0 0 20px}
.bfm-banner p{font-size:19px;max-width:640px;margin:0 auto 34px}

/* sections */
.bfm-section{padding-top:64px;padding-bottom:20px}
.bfm-section__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 28px}
.bfm-section__head h2{font-size:32px;margin:0}

/* collection tiles */
.bfm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bfm-tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:28px;text-decoration:none!important;transition:transform .2s}
.bfm-tile:hover{transform:translateY(-3px)}
.bfm-tile strong{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:400;font-size:24px;letter-spacing:.6px;color:rgb(var(--bfm-fg));margin:4px 0 6px}
.bfm-tile .bfm-ico{transition:transform .2s}
.bfm-tile:hover .bfm-ico{transform:translateX(5px)}
.bfm-tile__count{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;opacity:.75}
.bfm-tile__dek{font-size:16px;line-height:1.55;opacity:.85}
.bfm-tile.scheme-light{color:rgba(var(--bfm-fg),.75)}

/* cards (Dawn blog cards, text only) */
.bfm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bfm-card{border:1px solid rgba(var(--bfm-fg),.1);background:#fff;transition:box-shadow .2s}
.bfm-card:hover{box-shadow:0 6px 20px rgba(var(--bfm-fg),.08)}
.bfm-card__link{display:flex;flex-direction:column;height:100%;padding:26px 26px 24px;text-decoration:none;color:inherit}
.bfm-card__cat{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:rgb(var(--bfm-blue))}
.bfm-card__title{font-size:22px;line-height:1.3;margin:8px 0 10px}
.bfm-card__link:hover .bfm-card__title{text-decoration:underline;text-underline-offset:4px}
.bfm-card__ex{font-size:16px;line-height:1.6;margin:0 0 16px}
.bfm-card__meta{margin-top:auto;font-size:14px;color:rgba(var(--bfm-fg),.6)}
.bfm-card__meta i{font-style:normal;margin:0 4px}
.bfm-card__more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:15px;color:rgb(var(--bfm-fg));letter-spacing:.6px}
.bfm-card__more .bfm-ico{width:16px;height:16px;transition:transform .2s}
.bfm-card__link:hover .bfm-card__more .bfm-ico{transform:translateX(4px)}

/* rich text band */
.bfm-rich{margin-top:64px;padding:80px 0;text-align:center}
.bfm-rich__inner{max-width:780px}
.bfm-rich h2{font-size:38px;margin:10px 0 18px}
.bfm-rich p{font-size:19px;margin:0 0 30px}

/* archive head + chips + pager */
.bfm-pagehead{text-align:center;padding-top:64px;padding-bottom:10px;max-width:860px}
.bfm-pagehead h1{font-size:44px;margin:8px 0 12px}
.bfm-pagehead p{margin:0 auto;font-size:18px}
.bfm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-top:24px}
.bfm-chips a{padding:8px 18px;border:1px solid rgba(var(--bfm-fg),.25);font-size:15px;text-decoration:none;letter-spacing:.5px}
.bfm-chips a:hover,.bfm-chips a[aria-current]{background:rgb(var(--bfm-fg));color:#fff;border-color:rgb(var(--bfm-fg))}
.bfm-pager{display:flex;justify-content:center;gap:6px;margin:40px 0 20px}
.bfm-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;text-decoration:none;font-size:15px}
.bfm-pager .current{text-decoration:underline;text-underline-offset:4px;color:rgb(var(--bfm-fg))}

/* article (Dawn article template) */
.bfm-article__head{text-align:center;max-width:900px;padding-top:70px}
.bfm-article__head h1{font-size:46px;line-height:1.2;margin:10px 0 16px}
.bfm-article__meta{font-size:15px;color:rgba(var(--bfm-fg),.65);margin:0}
.bfm-article__meta a{color:rgba(var(--bfm-fg),.85)}
.bfm-article__meta i{font-style:normal;margin:0 6px}
.bfm-article__body{max-width:760px;margin:0 auto;padding:44px 20px 10px;font-size:19px;line-height:1.85;color:rgba(var(--bfm-fg),.82)}
.bfm-article__body p{margin:0 0 1.2em}
.bfm-article__body h2{font-size:30px;margin:1.6em 0 .6em}
.bfm-article__body h3{font-size:23px;margin:1.4em 0 .5em}
.bfm-article__body ul,.bfm-article__body ol{margin:0 0 1.3em;padding-left:1.3em}
.bfm-article__body li{margin:0 0 .5em}
.bfm-article__body strong{color:rgb(var(--bfm-fg));font-weight:600}
.bfm-article__body blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid rgb(var(--bfm-blue));font-size:21px;color:rgb(var(--bfm-fg))}
.bfm-article__body blockquote p{margin:0}
.bfm-authorbox{display:flex;gap:24px;align-items:flex-start;max-width:760px;margin:40px auto 0;padding:28px;background:rgb(var(--bfm-soft))}
.bfm-authorbox__mark{display:flex;align-items:center;justify-content:center;flex:none;width:76px;height:76px;border-radius:50%;background:rgb(var(--bfm-navy));color:#fff;font-size:20px;letter-spacing:1px}
.bfm-authorbox h2{font-size:22px;margin:0 0 6px}
.bfm-authorbox p{margin:0 0 10px;font-size:16px;line-height:1.6}
.bfm-article__back{max-width:760px;margin:30px auto 0;padding:0 20px}

/* slogan + footer */
.bfm-slogan{margin-top:80px;padding:56px 0;text-align:center}
.bfm-slogan h2{font-size:30px;margin:0 0 10px}
.bfm-slogan p{margin:0 auto;max-width:640px;font-size:17px}
.bfm-footer{border-top:1px solid rgba(var(--bfm-fg),.08);padding:56px 0 0;font-size:15px}
.bfm-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.bfm-logo--foot{font-size:22px}
.bfm-footer p{margin:12px 0 0;max-width:380px;line-height:1.7}
.bfm-footer h3{font-size:16px;letter-spacing:1px;margin:0 0 12px}
.bfm-footer ul{list-style:none;margin:0;padding:0}
.bfm-footer li a{display:inline-block;padding:3px 0;color:rgba(var(--bfm-fg),.75);text-decoration:none}
.bfm-footer li a:hover{text-decoration:underline;color:rgb(var(--bfm-fg))}
.bfm-footer__base{margin-top:48px;padding-top:20px;padding-bottom:26px;border-top:1px solid rgba(var(--bfm-fg),.08);color:rgba(var(--bfm-fg),.6)}

/* responsive */
@media (max-width:990px){.bfm-page{padding:0 24px}.bfm-tiles,.bfm-grid{grid-template-columns:repeat(2,1fr)}.bfm-banner h1{font-size:44px}}
@media (max-width:749px){
body.bfm{font-size:17px}
.bfm-page{padding:0 16px}
.bfm-header__row{min-height:64px;gap:6px}
.bfm-burger{display:inline-flex;margin-left:-10px}
.bfm-logo{flex:1;text-align:center;font-size:21px}
.bfm-searchbtn{margin-right:-10px}
.bfm-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid rgba(var(--bfm-fg),.1);padding:8px 16px 16px}
.bfm-menu-open .bfm-nav{display:block}
.bfm-nav>ul{flex-direction:column}
.bfm-nav a,.bfm-nav button{width:100%;font-size:18px;padding:12px 0}
.bfm-nav__drop ul{position:static;border:0;padding:0 0 6px 14px}
.bfm-banner{padding:70px 0 76px}
.bfm-banner h1{font-size:36px}
.bfm-banner p{font-size:17px}
.bfm-section{padding-top:48px}
.bfm-section__head h2{font-size:26px}
.bfm-tiles,.bfm-grid{grid-template-columns:1fr}
.bfm-tile{min-height:170px;padding:24px}
.bfm-rich{padding:56px 0}
.bfm-rich h2{font-size:28px}
.bfm-pagehead h1{font-size:32px}
.bfm-article__head{padding-top:44px}
.bfm-article__head h1{font-size:32px}
.bfm-article__body{font-size:18px;padding:30px 16px 6px}
.bfm-article__body h2{font-size:25px}
.bfm-authorbox{flex-direction:column;margin:30px 16px 0;padding:22px}
.bfm-footer__grid{grid-template-columns:1fr;gap:28px}
.bfm-slogan h2{font-size:24px}
}

.screen-reader-text,.skip-link{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.bfm .bfm-tile.scheme-dark,.bfm .bfm-tile.scheme-blue{color:rgba(255,255,255,.85)}
.bfm .bfm-tile.scheme-dark strong,.bfm .bfm-tile.scheme-blue strong{color:#fff}
.bfm .bfm-tile.scheme-light{color:rgba(18,18,18,.75)}

/* photos (2026-10-27) */
.bfm-banner{position:relative;background:rgb(var(--bfm-navy)) var(--bfm-bg-img) center 40%/cover no-repeat;isolation:isolate}
.bfm-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(36,40,51,.55),rgba(36,40,51,.72));z-index:-1}
.bfm-banner{padding:150px 0 160px}
.bfm-banner h1{text-shadow:0 2px 18px rgba(0,0,0,.25)}
.bfm .bfm-tile{position:relative;isolation:isolate;overflow:hidden;min-height:300px;background:#333 var(--bfm-bg-img) center/cover no-repeat;color:rgba(255,255,255,.88)}
.bfm .bfm-tile::before{content:"";position:absolute;inset:0;z-index:-1;transition:opacity .3s}
.bfm .bfm-tile.scheme-dark::before{background:linear-gradient(180deg,rgba(36,40,51,.15) 10%,rgba(36,40,51,.92) 78%)}
.bfm .bfm-tile.scheme-blue::before{background:linear-gradient(180deg,rgba(51,79,180,.1) 10%,rgba(40,58,140,.92) 78%)}
.bfm .bfm-tile.scheme-light::before{background:linear-gradient(180deg,rgba(18,18,18,.05) 10%,rgba(18,18,18,.82) 78%)}
.bfm .bfm-tile strong,.bfm .bfm-tile.scheme-light strong{color:#fff}
.bfm .bfm-tile.scheme-light{color:rgba(255,255,255,.88)}
.bfm .bfm-tile:hover{transform:none}
.bfm .bfm-tile:hover::before{opacity:.92}
.bfm-card__link{padding:0}
.bfm-card__media{display:block;overflow:hidden;aspect-ratio:3/2;background:rgb(var(--bfm-soft))}
.bfm-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bfm-card__link:hover .bfm-card__media img{transform:scale(1.04)}
.bfm-card__content{display:flex;flex-direction:column;flex:1;padding:22px 24px 22px}
.bfm-article__hero{max-width:1100px;margin:36px auto 0}
.bfm-article__hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media (max-width:749px){.bfm-banner{padding:96px 0 104px}.bfm .bfm-tile{min-height:240px}.bfm-article__hero{margin-top:24px;padding:0}.bfm-card__content{padding:18px 18px 20px}}
