/*
Theme Name: Stanley 1913 Theme
Theme URI: https://brahmin.com/
Author: SiteForge WP
Description: Authorized migration starter generated from BRAHMIN. Review content and licenses before publishing.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: siteforge
*/

:root {
  --sf-bg: #ffffff;
  --sf-text: #111111;
  --sf-accent: #005fcc;
  --sf-border: color-mix(in srgb, var(--sf-text) 18%, transparent);
  --sf-radius: 4px;
  --sf-width: 40px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.siteforge-theme { margin: 0; background: var(--sf-bg); color: var(--sf-text); font-family: Graphik, system-ui, sans-serif; line-height: 1.6; }
/* The local storefront may retain WordPress's `admin-bar` body class even
 * when the toolbar itself is hidden by the preview shell. Reset that reserved
 * 32/46px offset so the promotional banner sits flush against the viewport. */
html.admin-bar { margin-top: 0 !important; }
html:has(body.siteforge-theme.admin-bar) { margin-top: 0 !important; }
body.siteforge-theme.admin-bar { margin-top: 0 !important; }
body.siteforge-theme.admin-bar #wpadminbar { display: none !important; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 100000; padding: 12px 16px; background: #fff; color: #111; }
.siteforge-container { width: min(calc(100% - 40px), var(--sf-width)); margin-inline: auto; }
.siteforge-main { padding-block: clamp(48px, 8vw, 104px); min-height: 55vh; }
.siteforge-reading { max-width: min(820px, calc(100% - 40px)); }
.siteforge-page-header { margin-bottom: 36px; }
.siteforge-page-header h1 { max-width: 18ch; margin: 0; font-size: 4rem; line-height: 1.02; letter-spacing: 0; }
.siteforge-meta, .siteforge-kicker { margin: 0 0 8px; opacity: .65; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0; }
.siteforge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 36px); }
.siteforge-card { min-width: 0; border-top: 1px solid var(--sf-border); padding-top: 16px; }
.siteforge-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: color-mix(in srgb, var(--sf-text) 5%, var(--sf-bg)); }
.siteforge-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.siteforge-card:hover .siteforge-card__media img { transform: scale(1.025); }
.siteforge-card__body { padding-top: 16px; }
.siteforge-card__title { margin: 0; font-size: 1.3rem; line-height: 1.2; letter-spacing: 0; }
.siteforge-card__title a { text-decoration: none; }
.siteforge-card__excerpt { margin-top: 10px; opacity: .75; }
.siteforge-featured { margin: 0 0 40px; }
.siteforge-entry { font-size: 1.05rem; }
.siteforge-entry > * { max-width: 100%; }
.siteforge-entry > * + * { margin-top: 1.35em; }
.siteforge-button, .siteforge-empty input[type="submit"], .siteforge-auth input[type="submit"] { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; padding: 10px 18px; border: 0; border-radius: var(--sf-radius); background: var(--sf-accent); color: #fff; text-decoration: none; font-weight: 700; cursor: pointer; }
.siteforge-empty { max-width: 620px; padding-block: 64px; }
.siteforge-standalone { width: min(calc(100% - 40px), var(--sf-width)); }
.siteforge-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 460px); align-items: start; gap: clamp(48px, 8vw, 120px); }
.siteforge-auth__intro { min-width: 0; }
.siteforge-auth__intro .siteforge-entry { max-width: 620px; }
.siteforge-auth__panel { min-width: 0; padding-left: clamp(28px, 4vw, 56px); border-left: 1px solid var(--sf-border); }
.siteforge-auth__form p { margin: 0 0 18px; }
.siteforge-auth__form label { display: block; margin-bottom: 7px; font-size: .9rem; font-weight: 700; }
.siteforge-auth__form input[type="text"], .siteforge-auth__form input[type="email"], .siteforge-auth__form input[type="password"] { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--sf-border); border-radius: var(--sf-radius); background: var(--sf-bg); color: var(--sf-text); font: inherit; }
.siteforge-auth__form input:focus { outline: 2px solid var(--sf-accent); outline-offset: 2px; }
.siteforge-auth__form .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.siteforge-auth__form .login-submit { margin-bottom: 0; }
.siteforge-form-note { opacity: .7; font-size: .88rem; }
.siteforge-auth__links, .siteforge-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 20px; }
.siteforge-account-actions .siteforge-button { margin-top: 0; }
.siteforge-notice { padding: 16px 0; border-block: 1px solid var(--sf-border); }
.siteforge-notice p, .siteforge-notice ul { margin: 6px 0 0; }
.siteforge-notice--success { border-color: color-mix(in srgb, #26714d 50%, var(--sf-border)); }
.siteforge-notice--error { border-color: color-mix(in srgb, #b23a32 55%, var(--sf-border)); }
.siteforge-pagination { display: flex; width: min(calc(100% - 40px), var(--sf-width)); justify-content: center; gap: 8px; margin: 32px auto; }
.siteforge-pagination .page-numbers { display: grid; min-width: 40px; min-height: 40px; place-items: center; border: 1px solid var(--sf-border); text-decoration: none; }
.siteforge-pagination .current { background: var(--sf-accent); color: #fff; }
.siteforge-header { border-bottom: 1px solid var(--sf-border); }
.siteforge-header__inner { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 24px; }
.siteforge-brand { font-weight: 800; text-decoration: none; }
.siteforge-footer { border-top: 1px solid var(--sf-border); padding-block: 32px; }
.siteforge-captured { overflow-x: clip; }

/* Imported BRAHMIN footer pages use full-bleed editorial sections. Keep the
   ordinary WordPress pages readable, but let these pages use the whole
   viewport so hero media and wide split sections are not squeezed into the
   default 820px reading column. */
.siteforge-footer-page { width: 100%; max-width: none; padding-inline: 0; }
.siteforge-footer-page .siteforge-page-header { width: min(calc(100% - 40px), var(--sf-width)); margin-inline: auto; }
.siteforge-footer-page .siteforge-entry { width: 100%; max-width: none !important; margin-inline: 0; }
.siteforge-footer-page .siteforge-entry > * { max-width: none; }
.siteforge-footer-page .siteforge-entry > section { width: 100%; }
.siteforge-footer-page .siteforge-entry img,
.siteforge-footer-page .siteforge-entry video { max-width: 100%; }
.siteforge-captured [data-siteforge-static-form="true"] { pointer-events: none; }

/* Rewards page ---------------------------------------------------------- */
.sf-rewards { --sf-rewards-ink:#04163d; --sf-rewards-wash:#f7f2ed; color:var(--sf-rewards-ink); background:#fff; }
.sf-rewards__page-title { display:grid; min-height:160px; padding:36px 20px 22px; place-items:center; text-align:center; }
.sf-rewards h1,.sf-rewards h2,.sf-rewards h3 { font-family:ivypresto-display, Georgia, serif; font-weight:400; }
.sf-rewards__page-title h1 { margin:0; font-size:clamp(2.7rem,5vw,4.5rem); line-height:1; }
.sf-rewards__hero { position:relative; min-height:clamp(470px,53vw,700px); display:flex; align-items:flex-end; justify-content:center; padding:34px 24px; background:#efe8e1 url("https://cdn-widget-assets.yotpo.com/static_assets/Vpj-vL9GDVTWPvETA702uQ/images/image_2026_04_23_14_25_01_713") center/cover no-repeat; }
.sf-rewards__hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.63) 39%,rgba(255,255,255,.08) 70%); }
.sf-rewards__hero-copy { position:relative; width:min(100%,500px); padding:36px; text-align:center; }
.sf-rewards__eyebrow { margin:0 0 5px; font-size:1.1rem; }
.sf-rewards__hero h2 { margin:0; font-size:clamp(3rem,5vw,5rem); font-style:italic; line-height:.96; }
.sf-rewards__hero-copy>p:not(.sf-rewards__eyebrow) { max-width:370px; margin:24px auto 0; font-size:1.1rem; line-height:1.5; }
.sf-rewards__actions { display:flex; justify-content:center; gap:14px; margin-top:28px; }
.sf-rewards__button { display:inline-flex; min-width:155px; min-height:48px; align-items:center; justify-content:center; border:1px solid var(--sf-rewards-ink); color:var(--sf-rewards-ink); font-size:.88rem; font-weight:600; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.sf-rewards__button--fill { background:var(--sf-rewards-ink); color:#fff; }
.sf-rewards__section { width:min(100% - 40px,1616px); margin-inline:auto; padding:clamp(64px,9vw,120px) 0; }
.sf-rewards__section>h2,.sf-rewards__section-heading h2,.sf-rewards__use h2 { margin:0; font-size:clamp(2.8rem,5vw,4.5rem); line-height:1; }
.sf-rewards__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin:45px 0 0; padding:0; list-style:none; counter-reset:steps; }
.sf-rewards__steps li { position:relative; padding:25px 18px 12px; border-top:1px solid #c9c9c9; }
.sf-rewards__steps span { display:block; margin-bottom:30px; font-size:.75rem; letter-spacing:.1em; }
.sf-rewards__steps h3 { margin:0; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1; text-transform:lowercase; }
.sf-rewards__steps p { max-width:260px; margin:13px 0 0; font-size:.95rem; line-height:1.5; }
.sf-rewards__earn { background:var(--sf-rewards-wash); max-width:none; width:100%; padding-inline:max(20px,calc((100% - 1616px)/2)); }
.sf-rewards__section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.sf-rewards__section-heading p { max-width:330px; margin:0; line-height:1.5; }
.sf-rewards__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:48px 0 0; padding:0; list-style:none; }
.sf-rewards__cards li { min-height:225px; padding:24px; background:#fff; border:1px solid #eee8e0; }
.sf-rewards__icon { display:grid; width:52px; height:52px; place-items:center; border-radius:50%; background:var(--sf-rewards-wash); font-size:1.6rem; }
.sf-rewards__cards h3 { margin:35px 0 8px; font-size:1.45rem; line-height:1; }
.sf-rewards__cards p { margin:0; font-size:.9rem; line-height:1.5; }
.sf-rewards__use { max-width:760px; margin:auto; padding:clamp(70px,10vw,130px) 20px; text-align:center; }
.sf-rewards__use .sf-rewards__rate { margin:22px 0 8px; font-size:1.2rem; letter-spacing:.06em; text-transform:uppercase; }
.sf-rewards__use>p:not(.sf-rewards__rate) { margin:0 auto 28px; font-size:1.1rem; }
.sf-rewards__use .sf-rewards__button { margin-top:12px; }

@media (min-width:768px) { .sf-rewards__hero { justify-content:flex-start; padding-left:clamp(8vw,15vw,250px); } .sf-rewards__hero-copy { margin-bottom:35px; } }
@media (max-width:767px) { .sf-rewards__hero { min-height:570px; } .sf-rewards__hero-copy { padding:25px 10px; } .sf-rewards__steps,.sf-rewards__cards { grid-template-columns:1fr; } .sf-rewards__section-heading { align-items:start; flex-direction:column; } .sf-rewards__cards { margin-top:32px; } .sf-rewards__cards li { min-height:0; } }

@media (max-width: 900px) {
  .siteforge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .siteforge-container, .siteforge-reading { width: min(calc(100% - 28px), var(--sf-width)); }
  .siteforge-footer-page { width: 100%; }
  .siteforge-footer-page .siteforge-page-header { width: calc(100% - 28px); }
  .siteforge-grid { grid-template-columns: 1fr; }
  .siteforge-page-header h1 { font-size: 2.35rem; }
  .siteforge-auth { grid-template-columns: 1fr; gap: 32px; }
  .siteforge-auth__panel { padding: 28px 0 0; border-top: 1px solid var(--sf-border); border-left: 0; }
}
