/*
Theme Name: Raina Editorial
Theme URI: https://example.com/raina-editorial
Author: OpenAI for Raina Malik
Description: A clean, editorial WordPress block theme for a personal brand, weekly articles, speaking, and newsletter growth.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: raina-editorial
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, portfolio, block-patterns, full-site-editing, wide-blocks
*/

:root {
  --raina-ink: var(--wp--preset--color--ink, #161616);
  --raina-charcoal: var(--wp--preset--color--charcoal, #343434);
  --raina-warm-white: var(--wp--preset--color--warm-white, #fbf9f6);
  --raina-stone: var(--wp--preset--color--stone, #f2efe9);
  --raina-taupe: var(--wp--preset--color--taupe, #d8d0c7);
  --raina-bronze: var(--wp--preset--color--bronze, #b88a5a);
  --raina-white: var(--wp--preset--color--white, #ffffff);
  --raina-border: rgba(22,22,22,.13);
  --raina-shadow: 0 18px 45px rgba(24,21,18,.08);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
::selection { background: var(--raina-bronze); color: #fff; }
a { text-underline-offset: .18em; text-decoration-thickness: .06em; }

/* Layout helpers */
.raina-shell { border-left: 1px solid var(--raina-border); border-right: 1px solid var(--raina-border); }
.raina-section { padding-top: clamp(4rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7.5rem); }
.raina-section-tight { padding-top: clamp(2.6rem, 5vw, 4.5rem); padding-bottom: clamp(2.6rem, 5vw, 4.5rem); }
.raina-eyebrow {
  font-size: .72rem !important;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--raina-bronze);
  margin-bottom: 1rem !important;
}
.raina-rule { width: 2rem; border-top: 1.5px solid var(--raina-bronze); margin: 1.35rem 0; }
.raina-muted { color: #6f6a64; }
.raina-kicker { max-width: 44rem; }
.raina-soft-bg { background: linear-gradient(135deg, #fbf9f6 0%, #f4efe8 100%); }

/* Header */
.raina-header { position: relative; z-index: 20; border-bottom: 1px solid var(--raina-border); }
.raina-header .wp-block-site-title { letter-spacing: .18em; text-transform: uppercase; font-size: .95rem; font-weight: 600; }
.raina-header .wp-block-navigation { font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.raina-header .wp-block-navigation-item__content { text-decoration: none; }
.raina-header .wp-block-navigation-item__content:hover { color: var(--raina-bronze); }

/* Hero */
.raina-hero { overflow: hidden; }
.raina-hero h1 { max-width: 12ch; }
.raina-hero-copy { padding-top: clamp(3rem, 7vw, 7rem); padding-bottom: clamp(3rem, 7vw, 7rem); }
.raina-hero-media { min-height: 560px; height: 100%; overflow: hidden; background: #eee7df; }
.raina-hero-media img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: center; }

/* Buttons */
.wp-block-button .wp-block-button__link {
  transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
  box-shadow: none;
}
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--raina-bronze); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--raina-ink); color: white; }

/* Cards / latest posts */
.raina-card { height: 100%; border: 1px solid var(--raina-border); background: #fff; }
.raina-card .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.raina-card .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; transition: transform .45s ease; }
.raina-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.raina-card-body { padding: 1.35rem 1.35rem 1.6rem; }
.raina-card .wp-block-post-terms { color: var(--raina-bronze); font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.raina-card .wp-block-post-title { margin-top: .55rem; margin-bottom: .9rem; }
.raina-card .wp-block-post-title a { text-decoration: none; }
.raina-card .wp-block-post-title a:hover { color: var(--raina-bronze); }
.raina-card .wp-block-post-date { color: #7d7872; font-size: .78rem; }

/* Feature trio */
.raina-feature { border-top: 1px solid var(--raina-border); padding-top: 1.4rem; }
.raina-feature-number { font-family: var(--wp--preset--font-family--editorial-serif, Georgia, 'Times New Roman', serif); font-size: 1.4rem; color: var(--raina-bronze); }

/* Newsletter */
.raina-newsletter { background: var(--raina-ink); color: #fff; }
.raina-newsletter h2, .raina-newsletter p { color: inherit; }
.raina-newsletter .mailerlite-form { max-width: 650px; }
.raina-newsletter .mailerlite-form .mailerlite-form-field input,
.raina-newsletter input[type='email'] {
  width: 100%; min-height: 52px; border: 1px solid rgba(255,255,255,.38); background: rgba(255,255,255,.06); color: white; padding: .9rem 1rem; border-radius: 0;
}
.raina-newsletter .mailerlite-form .mailerlite-subscribe-submit,
.raina-newsletter button[type='submit'] {
  min-height: 52px; border: 0; background: var(--raina-bronze); color: #fff; padding: .8rem 1.3rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
.raina-newsletter-admin-note { color: #d8d0c7; font-size: .82rem; margin-top: .75rem; }

/* Speaking */
.raina-speaking-media { min-height: 410px; overflow: hidden; }
.raina-speaking-media img { width: 100%; height: 100%; min-height: 410px; object-fit: cover; }
.raina-topic-row { border-top: 1px solid var(--raina-border); padding: .9rem 0; }
.raina-topic-row:last-child { border-bottom: 1px solid var(--raina-border); }

/* Page / post */
.raina-page-hero { padding-top: clamp(4rem, 9vw, 8rem); padding-bottom: clamp(2.8rem, 6vw, 5rem); }
.raina-page-hero h1 { max-width: 14ch; }
.raina-article-header { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.raina-article-header .wp-block-post-title { max-width: 15ch; }
.raina-article-meta { color: #746f69; font-size: .82rem; }
.raina-prose { font-size: clamp(1.06rem, 1.5vw, 1.2rem); line-height: 1.82; }
.raina-prose > p:first-child { font-size: 1.22em; }
.raina-prose blockquote { border-left: 2px solid var(--raina-bronze); margin-left: 0; padding-left: 1.5rem; font-family: var(--wp--preset--font-family--editorial-serif, Georgia, 'Times New Roman', serif); font-size: 1.35em; }
.raina-prose h2 { margin-top: 2.6em; }
.raina-prose h3 { margin-top: 2em; }
.raina-prose img { margin-top: 1.4rem; margin-bottom: 1.4rem; }

/* Archive */
.raina-archive-title { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: 2rem; }
.raina-query-grid { row-gap: 2rem; }

/* Footer */
.raina-footer { background: var(--raina-ink); color: white; }
.raina-footer a, .raina-footer p, .raina-footer .wp-block-site-title { color: white; }
.raina-footer .wp-block-site-title { letter-spacing: .18em; text-transform: uppercase; font-size: .9rem; }
.raina-footer .wp-block-navigation { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.raina-footer a:hover { color: var(--raina-bronze); }

/* Pattern layouts */
.raina-profile-panel { border: 1px solid var(--raina-border); padding: clamp(1.5rem, 4vw, 3.5rem); }
.raina-stat { border-top: 1px solid var(--raina-border); padding-top: 1rem; }
.raina-service { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--raina-border); background: #fff; }
.raina-contact-panel { padding: clamp(2rem, 5vw, 4.2rem); background: var(--raina-stone); }

/* Placeholder images */
.raina-placeholder-note { color: #7b746d; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }

/* WordPress generated forms / inputs */
input, textarea, select { font: inherit; }
input[type='text'], input[type='email'], input[type='url'], textarea, select {
  border: 1px solid #cfc8c0; padding: .85rem 1rem; background: white; color: var(--raina-ink); border-radius: 0;
}

@media (max-width: 781px) {
  .raina-shell { border-left: 0; border-right: 0; }
  .raina-header { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
  .raina-hero-copy { padding-top: 3.6rem; padding-bottom: 2.8rem; }
  .raina-hero-media, .raina-hero-media img { min-height: 430px; }
  .raina-speaking-media, .raina-speaking-media img { min-height: 330px; }
  .raina-section { padding-top: 4rem; padding-bottom: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
