/*
Theme Name: Realmforge
Template: twentytwentyfive
Description: Dark gilded high-fantasy child theme -- black iron, sigmarite gold, storm blue and blood red.
Version: 1.1
Text Domain: realmforge
*/

/* ---------- Base: black iron with a faint storm glow ---------- */
body {
  background:
    radial-gradient(ellipse at 50% -10%, rgba(40, 80, 140, 0.35), transparent 60%),
    radial-gradient(ellipse at 50% 110%, rgba(120, 20, 20, 0.25), transparent 55%),
    linear-gradient(#0b0b0e, #121117 40%, #0b0b0e) fixed;
  background-color: #0b0b0e;
}

/* ---------- Headings: carved, gilded ---------- */
h1, h2, h3, h4, .wp-block-site-title, .wp-block-post-title {
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fff1c1 0%, #e0b44c 45%, #9b6a1c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.8)) drop-shadow(0 0 12px rgba(224, 180, 76, 0.25));
}
.wp-block-site-title a, .wp-block-post-title a { color: inherit; -webkit-text-fill-color: transparent; }

/* Ornamental gilded rule for separators */
.wp-block-separator, hr {
  border: 0 !important;
  height: 14px !important;
  background:
    linear-gradient(90deg, transparent, #c9963a 20%, #fff1c1 50%, #c9963a 80%, transparent) center / 100% 1px no-repeat,
    radial-gradient(circle, #e0b44c 0 4px, transparent 5px) center / 14px 14px no-repeat;
  opacity: 1 !important;
}

/* ---------- Header / footer: gilded iron bands ---------- */
header.wp-block-template-part, footer.wp-block-template-part {
  background: linear-gradient(180deg, #17161c, #0d0c10);
  border: 0 solid #c9963a;
}
header.wp-block-template-part { border-bottom-width: 2px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.7), 0 1px 0 #5b4214; }
footer.wp-block-template-part { border-top-width: 2px; margin-top: 4rem; }

.wp-block-navigation a {
  font-family: var(--wp--preset--font-family--cinzel);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.85rem;
  transition: color 0.2s, text-shadow 0.2s;
}
.wp-block-navigation a:hover { color: #fff1c1; text-shadow: 0 0 10px rgba(224, 180, 76, 0.7); }

/* ---------- Links ---------- */
a { text-underline-offset: 3px; }
a:hover { text-shadow: 0 0 8px rgba(224, 180, 76, 0.5); }

/* ---------- Buttons: gold-edged war banners ---------- */
.wp-block-button__link, .wp-element-button, input[type="submit"] {
  font-family: var(--wp--preset--font-family--cinzel) !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 700;
  border: 1px solid #e0b44c !important;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #2a4f86, #142a4d) !important;
  color: #fff1c1 !important;
  box-shadow: inset 0 1px 0 rgba(255, 241, 193, 0.35), 0 0 0 3px #0b0b0e, 0 0 0 4px #7a5618, 0 6px 18px rgba(0, 0, 0, 0.6);
  transition: transform 0.15s, box-shadow 0.2s;
}
.wp-block-button__link:hover, .wp-element-button:hover, input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 241, 193, 0.5), 0 0 0 3px #0b0b0e, 0 0 0 4px #e0b44c, 0 0 22px rgba(224, 180, 76, 0.45);
}
.is-style-outline .wp-block-button__link { background: transparent !important; }
/* Crimson variant: give a Button block the extra CSS class "blood" */
.blood .wp-block-button__link { background: linear-gradient(180deg, #8c1c1c, #4a0b0b) !important; }

/* ---------- Content panels: framed slabs ---------- */
.wp-block-group.has-background, .wp-block-column.has-background, .wp-block-cover, .wp-block-media-text,
.wp-block-post-template > li, .wp-block-quote, .wp-block-pullquote {
  border: 1px solid #5b4214;
  box-shadow: inset 0 0 0 1px rgba(224, 180, 76, 0.15), 0 10px 30px rgba(0, 0, 0, 0.55);
}
.wp-block-post-template > li { padding: 1.5rem; background: linear-gradient(180deg, rgba(23, 22, 28, 0.72), rgba(16, 16, 21, 0.72)); backdrop-filter: blur(1px); }

/* Corner rivets on framed slabs */
.wp-block-post-template > li, .wp-block-group.has-background { position: relative; }
.wp-block-post-template > li::before, .wp-block-group.has-background::before {
  content: ""; position: absolute; inset: 6px; pointer-events: none;
  background:
    radial-gradient(circle, #e0b44c 0 2px, transparent 3px) top left / 10px 10px no-repeat,
    radial-gradient(circle, #e0b44c 0 2px, transparent 3px) top right / 10px 10px no-repeat,
    radial-gradient(circle, #e0b44c 0 2px, transparent 3px) bottom left / 10px 10px no-repeat,
    radial-gradient(circle, #e0b44c 0 2px, transparent 3px) bottom right / 10px 10px no-repeat;
}

/* Quotes read like inscriptions */
.wp-block-quote, .wp-block-pullquote {
  border-left: 3px solid #e0b44c;
  background: rgba(23, 22, 28, 0.85);
  padding: 1.25rem 1.5rem;
  font-style: italic;
}
.wp-block-quote cite { font-family: var(--wp--preset--font-family--cinzel); color: #c9963a; font-style: normal; letter-spacing: 0.1em; }

/* Images get a gilded frame */
.wp-block-image img, .wp-block-post-featured-image img {
  border: 1px solid #7a5618;
  box-shadow: 0 0 0 3px #0b0b0e, 0 0 0 4px #5b4214, 0 12px 28px rgba(0, 0, 0, 0.6);
}

/* Cover blocks: dark vignette for a grim heroic look */
.wp-block-cover .wp-block-cover__background { background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.8)) !important; opacity: 1 !important; }

/* Form fields */
input[type="text"], input[type="email"], input[type="search"], input[type="url"], textarea, select {
  background: #0d0c10; color: #e9dfc7; border: 1px solid #5b4214; border-radius: 2px;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: #e0b44c; box-shadow: 0 0 10px rgba(224, 180, 76, 0.35); }

::selection { background: #8c1c1c; color: #fff1c1; }

/* ---------- Club crest: faded, fixed behind every page ---------- */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("omg-logo.png") center / min(70vmin, 640px) no-repeat;
  opacity: 0.06;
  filter: blur(0.5px) drop-shadow(0 0 30px rgba(224, 180, 76, 0.6));
}
.wp-site-blocks { position: relative; }

/* Club crest beside the site title (header and footer) */
.wp-block-site-title { display: inline-flex; align-items: center; gap: 0.5em; }
.wp-block-site-title::before {
  content: "";
  flex: none;
  width: 1.6em;
  height: 1.6em;
  background: url("omg-logo.png") center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(224, 180, 76, 0.5));
}

/* ---------- Homepage ---------- */
.home main .wp-block-post-title { display: none; }
.omg-hero { padding: 5rem 1rem 3rem; text-align: center; }
.omg-hero h1 { font-size: clamp(2.6rem, 7vw, 5.5rem) !important; margin: 0.2em 0; }
.omg-kicker { font-family: var(--wp--preset--font-family--cinzel); letter-spacing: 0.35em; text-transform: uppercase; color: #c9963a; font-size: 0.85rem; }
.omg-lead { max-width: 640px; margin-inline: auto !important; font-size: 1.3rem; font-style: italic; color: #e9dfc7; }
.omg-cards > .wp-block-column { padding: 2rem 1.75rem !important; background: linear-gradient(180deg, rgba(23, 22, 28, 0.78), rgba(16, 16, 21, 0.78)) !important; }
.omg-motto { max-width: 640px; margin: 4rem auto !important; text-align: center; border-left: 0 !important; border-top: 1px solid #5b4214; border-bottom: 1px solid #5b4214; font-size: 1.35rem; }
.wp-block-group.has-base-2-background-color { background: linear-gradient(180deg, rgba(23, 22, 28, 0.78), rgba(16, 16, 21, 0.78)) !important; padding: 1.5rem 1.75rem; margin-block: 1.25rem; }

/* ---------- Footer ---------- */
.omg-footer { padding: 2.5rem 1.5rem 1.5rem; }
.omg-copyright { margin-top: 2rem !important; font-size: 0.8rem; color: #8a8578; letter-spacing: 0.08em; }

/* ---------- Discord bar (top left, above the header) ---------- */
.omg-discord-bar {
  display: flex; justify-content: flex-start; padding: 6px clamp(16px, 4vw, 48px);
  background: #08080a; border-bottom: 1px solid #3a2a0d;
}
.omg-discord {
  display: inline-flex; align-items: center; gap: 8px; padding: 5px 14px;
  font-family: var(--wp--preset--font-family--cinzel); font-weight: 700; font-size: 0.78rem;
  letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none;
  color: #fff1c1; background: linear-gradient(180deg, #5865f2, #3c45a5);
  border: 1px solid #e0b44c; border-radius: 2px;
  box-shadow: 0 0 0 2px #08080a, 0 0 0 3px #7a5618;
  transition: box-shadow 0.2s, transform 0.15s;
}
.omg-discord:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 0 0 2px #08080a, 0 0 0 3px #e0b44c, 0 0 16px rgba(88, 101, 242, 0.6); text-shadow: none; }
