/* Stephanie Thompson – shared tokens & resets for the header/footer widgets.
   Everything is scoped to .st-el so the WordPress theme can't change it, and it can't change the theme. */
.st-el{
  --st-bg:#F8F1E8; --st-text:#2B1F27; --st-line:rgba(75,30,61,.16);
  --st-plum:#4B1E3D; --st-plum-deep:#1D0A18;
  --st-gold:#B48A3C; --st-gold-2:#D9B56C;
  --st-btn-bg:#4B1E3D; --st-btn-bg-hover:#6B2F58; --st-btn-ink:#F8F1E8;
  --st-footer-bg:var(--st-plum-deep); --st-footer-text:#D9C3D0; --st-footer-heading:#F3E9E4;
  --st-serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --st-sans:'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --st-header-h:76px;
  font-family:var(--st-sans); font-size:17px; line-height:1.65; color:var(--st-text);
  -webkit-text-size-adjust:100%; text-align:left;
  /* themes (e.g. Twenty Twenty-Five) set weight 300 and tight letter-spacing on body: undo it here */
  font-weight:400; font-style:normal; letter-spacing:normal; word-spacing:normal; text-transform:none; text-shadow:none;
}
.st-el,.st-el *,.st-el *::before,.st-el *::after{box-sizing:border-box}
.st-el img{max-width:100%;height:auto;display:block;border:0;margin:0;padding:0}
.st-el a{color:inherit}
.st-el :focus-visible{outline:3px solid var(--st-gold);outline-offset:3px}

/* Elementor wrapper: full width, no gap under the widget */
.elementor-widget-st_header,.elementor-widget-st_footer{width:100%;max-width:100%}
.elementor-widget.elementor-widget-st_header,.elementor-widget.elementor-widget-st_footer{margin-bottom:0!important;margin-block-end:0!important}

/* content width, same breakpoints as the site */
.st-el .st-wrap{width:min(1180px,calc(100% - 2.5rem));margin:0 auto;padding:0;max-width:none}
@media (min-width:1600px){.st-el .st-wrap{width:min(1320px,calc(100% - 4rem))}}
@media (max-width:640px){.st-el{font-size:16px}.st-el .st-wrap{width:calc(100% - 2.25rem)}}
@media (max-width:380px){.st-el .st-wrap{width:calc(100% - 1.75rem)}}

/* brand (used in header and footer) */
.st-el .st-brand,.st-el .st-brand:hover,.st-el .st-brand:focus{display:flex;align-items:center;gap:.7rem;text-decoration:none;border:0;box-shadow:none;background:none}
.st-el .st-brand img{height:54px;width:54px;border-radius:50%;object-fit:cover;object-position:50% 38%;box-shadow:0 0 0 2px var(--st-gold-2)}
.st-el .st-brand span{font-family:var(--st-serif);font-size:1.4rem;font-weight:400;letter-spacing:.05em;line-height:1.65;color:var(--st-plum)}
@media (min-width:901px) and (max-width:1180px){.st-el .st-brand span{font-size:1.2rem}.st-el .st-brand img{height:46px;width:46px}}
@media (min-width:901px) and (max-width:1060px){.st-el .st-brand span{display:none}}
@media (max-width:640px){.st-el .st-brand img{height:42px;width:42px}.st-el .st-brand span{font-size:1.15rem}}
@media (max-width:380px){.st-el .st-brand span{font-size:1rem}}

@media (prefers-reduced-motion:reduce){.st-el *{transition:none!important}}
