/*
Theme Name: Reyna Anna
Theme URI: https://reynaanna.com
Author: Reyna Anna
Description: A light, elegant luxury lifestyle block theme for Reyna Anna — journals, planners, coaching and meditation. White backgrounds, black-and-white photography, with a splash of pink and gold. WooCommerce ready.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.5.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: reyna-anna
Tags: block-theme, full-site-editing, e-commerce, blog, one-column, wide-blocks, custom-colors, custom-logo
*/

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--black); }
a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }

/* ---------- Header ---------- */
.ra-header {
	background: var(--wp--preset--color--ivory);
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: sticky; top: 0; z-index: 50;
}
.admin-bar .ra-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ra-header { top: 46px; } }
.ra-header .wp-block-site-logo + .wp-block-site-title { display: none; }
.ra-header .wp-block-site-title a {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem; letter-spacing: 0.04em; text-decoration: none;
}
.ra-header .wp-block-navigation { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; }
.ra-header .wp-block-navigation a:hover { color: var(--wp--preset--color--gold); }
.ra-topbar {
	background: var(--wp--preset--color--blush);
	font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase;
}
.ra-topbar p { margin: 0; }

/* ---------- Shared pieces ---------- */
.ra-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem !important; font-weight: 600;
	letter-spacing: 0.32em; text-transform: uppercase;
	color: var(--wp--preset--color--gold-deep);
}
.ra-lead { font-size: 1.15rem; line-height: 1.8; color: var(--wp--preset--color--charcoal); }
.ra-gold-rule {
	border: 0 !important; height: 1px !important; width: 64px !important;
	background: var(--wp--preset--color--gold) !important; opacity: 1 !important;
}
.ra-gold-rule.is-center { margin-left: auto !important; margin-right: auto !important; }
.ra-script { font-family: var(--wp--preset--font-family--serif); font-style: italic; }

/* ---------- Hero ---------- */
.ra-hero { position: relative; overflow: hidden; }
.ra-hero h1 em, .ra-hero h1 i { color: var(--wp--preset--color--gold-deep); font-weight: 400; }
.ra-hero-img img {
	border-radius: 999px 999px 0 0;
	aspect-ratio: 4 / 5; object-fit: cover; width: 100%;
	box-shadow: 18px 18px 0 0 var(--wp--preset--color--blush);
}
.ra-hero-img { position: relative; }

/* ---------- Statement band ---------- */
.ra-statement p { font-family: var(--wp--preset--font-family--serif); font-style: italic; }

/* ---------- Cards ---------- */
.ra-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	height: 100%;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.ra-card:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 18px 40px -24px rgba(17,17,17,.35);
}
.ra-num {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.6rem !important; line-height: 1; color: var(--wp--preset--color--gold);
}
.ra-link a, a.ra-link {
	font-size: 0.75rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
	text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--gold); padding-bottom: 4px;
}

/* ---------- ANNA framework ---------- */
.ra-anna-letter {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(3rem, 6vw, 5rem) !important; line-height: 1;
	color: var(--wp--preset--color--gold);
}
.ra-anna .wp-block-column { border-top: 1px solid var(--wp--preset--color--gold); padding-top: 1.5rem; }

/* ---------- Frames ---------- */
.ra-frame img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.ra-frame { outline: 1px solid var(--wp--preset--color--gold); outline-offset: 14px; }

/* ---------- Pricing / offers ---------- */
.ra-offer { border-top: 2px solid var(--wp--preset--color--gold) !important; }
.ra-price { font-family: var(--wp--preset--font-family--serif); font-size: 2rem !important; }
.ra-list { list-style: none; padding-left: 0; }
.ra-list li { padding: .55rem 0 .55rem 1.6rem; border-bottom: 1px solid var(--wp--preset--color--line); position: relative; }
.ra-list li::before { content: "✦"; color: var(--wp--preset--color--gold); position: absolute; left: 0; font-size: .8em; top: .75rem; }

/* ---------- Newsletter ---------- */
.ra-newsletter { border: 1px solid var(--wp--preset--color--gold); }

/* ---------- Footer ---------- */
.ra-footer { border-top: 1px solid var(--wp--preset--color--line); }
.ra-footer a { text-decoration: none; }
.ra-footer a:hover { color: var(--wp--preset--color--gold-deep); }
.ra-footer-title { font-size: 0.72rem !important; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; }
.ra-footer ul { list-style: none; padding: 0; margin: 0; }
.ra-footer li { margin: 0 0 .6rem; }

/* ---------- Blog cards ---------- */
.wp-block-post-template .wp-block-post-featured-image img { transition: opacity .3s ease; }
.wp-block-post-template .wp-block-post-featured-image a:hover img { opacity: .85; }
.wp-block-post-title a { text-decoration: none; }

/* ---------- WooCommerce polish ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-size: 1.15rem !important; font-weight: 400 !important;
}
.woocommerce ul.products li.product .price,
.wc-block-components-product-price { color: var(--wp--preset--color--charcoal) !important; }
.woocommerce ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.added_to_cart {
	background: var(--wp--preset--color--black) !important;
	color: var(--wp--preset--color--white) !important;
	border-radius: 0 !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem !important; font-weight: 600 !important;
	letter-spacing: 0.2em; text-transform: uppercase;
	padding: 1em 1.8em !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover {
	background: var(--wp--preset--color--gold-deep) !important;
}
.woocommerce span.onsale {
	background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--black) !important;
	border-radius: 0 !important; min-height: auto; line-height: 1; padding: .6em .9em;
}
.woocommerce .star-rating span::before { color: var(--wp--preset--color--gold); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--black);
	border: 1px solid var(--wp--preset--color--black);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--black); color: var(--wp--preset--color--white);
}

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.ra-hero-img img { box-shadow: 10px 10px 0 0 var(--wp--preset--color--blush); }
	.ra-hide-mobile { display: none !important; }
}

/* =========================================================
   v1.1 — Editorial black & white with a splash of pink + gold
   ========================================================= */

/* Header wordmark in classic capitals */
.ra-header .wp-block-site-title a {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500; font-size: 1.55rem; letter-spacing: 0.14em; text-transform: uppercase;
}
.ra-header { background: var(--wp--preset--color--white); }
.ra-header .wp-block-navigation { font-family: var(--wp--preset--font-family--sans); font-weight: 500; font-size: 0.72rem; }
.ra-header .wp-block-navigation a:hover { color: var(--wp--preset--color--pink); }
.ra-topbar { font-weight: 500; }

/* Black & white photography — any photo you upload turns monochrome */
.ra-bw img, .ra-cover img.wp-block-cover__image-background, .ra-hero-img img, .ra-frame img {
	filter: grayscale(100%) contrast(1.04);
}

/* Full-bleed editorial cover hero */
.ra-cover { overflow: hidden; padding-bottom: 0 !important; }
.ra-cover .wp-block-cover__inner-container { width: 100%; max-width: none !important; }
.ra-quote {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-weight: 700; text-transform: uppercase;
	font-size: clamp(1rem, 1.9vw, 1.65rem) !important; line-height: 1.25 !important;
	letter-spacing: 0.01em; color: var(--wp--preset--color--black);
	max-width: 1100px; margin-left: auto !important; margin-right: auto !important;
}
.ra-giant {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-weight: 500; text-transform: uppercase; white-space: nowrap;
	font-size: clamp(3.6rem, 15.2vw, 17rem) !important;
	line-height: 0.78 !important; letter-spacing: -0.005em;
	color: var(--wp--preset--color--black);
	margin: 0 !important; margin-bottom: -0.04em !important;
	text-align: center;
}
.ra-accent-line { display: flex; justify-content: center; gap: 10px; align-items: center; }
.ra-accent-line::before, .ra-accent-line::after { content: ""; height: 2px; width: 44px; }
.ra-accent-line::before { background: var(--wp--preset--color--pink); }
.ra-accent-line::after { background: var(--wp--preset--color--gold); }

/* Headings: generous caps */
h1.wp-block-heading, h2.wp-block-heading { letter-spacing: 0.02em; }
h1 em, h2 em, h3 em { font-style: italic; text-transform: none; color: var(--wp--preset--color--gold-deep); }

/* Bold statement (Full Focus style) */
.ra-bold-caps {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.2;
}

/* Pink + gold details */
.ra-eyebrow { color: var(--wp--preset--color--gold-deep); }
.ra-gold-rule { background: linear-gradient(90deg, var(--wp--preset--color--pink) 0 50%, var(--wp--preset--color--gold) 50% 100%) !important; height: 2px !important; }
.ra-card:hover { border-color: var(--wp--preset--color--pink); }
.ra-num { color: var(--wp--preset--color--pink); font-weight: 500; }
.ra-anna .wp-block-column { border-top: 2px solid var(--wp--preset--color--pink); }
.ra-anna .wp-block-column:nth-child(even) { border-top-color: var(--wp--preset--color--gold); }
.ra-anna-letter { color: var(--wp--preset--color--black); font-weight: 500; }
.ra-link a, a.ra-link { border-bottom: 2px solid var(--wp--preset--color--pink); }
.ra-newsletter { border: 1px solid var(--wp--preset--color--black); border-top: 6px solid var(--wp--preset--color--pink); }
.ra-hero-img img { box-shadow: 18px 18px 0 0 var(--wp--preset--color--blush); }
.ra-frame { outline-color: var(--wp--preset--color--gold); }
.ra-list li::before { color: var(--wp--preset--color--pink); }
.ra-offer { border-top-color: var(--wp--preset--color--pink) !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--wp--preset--color--pink) !important; color: var(--wp--preset--color--black) !important; }
.woocommerce span.onsale { background: var(--wp--preset--color--pink) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name { font-size: 1.35rem !important; font-weight: 500 !important; }
.ra-footer-title { color: var(--wp--preset--color--black); }

/* v1.2 — thin Italiana display lettering */
.ra-header .wp-block-site-title a, .ra-giant, .ra-num, .ra-anna-letter, .ra-price,
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--display) !important; font-weight: 400 !important;
}
.ra-header .wp-block-site-title a { letter-spacing: 0.16em; font-size: 1.6rem; }
.ra-giant { letter-spacing: 0.01em; line-height: 0.8 !important; }
h1 em, h2 em, h3 em, h4 em { font-family: var(--wp--preset--font-family--serif); font-weight: 400; }

/* v1.3 — hero copy sits left so the photo stays clear */
.ra-hero-copy {
	max-width: min(560px, 42vw);
	margin-left: clamp(1.25rem, 6vw, 6rem) !important; margin-right: auto !important;
	margin-top: clamp(1rem, 6vh, 5rem) !important; margin-bottom: clamp(2rem, 14vh, 10rem) !important;
	text-align: left;
}
.ra-hero-copy .ra-quote { margin-left: 0 !important; text-align: left; font-size: clamp(1.05rem, 1.7vw, 1.6rem) !important; }
.ra-hero-copy .ra-accent-line { justify-content: flex-start; }
.ra-cover { align-items: flex-end; }
@media (max-width: 781px) {
	.ra-hero-copy { max-width: none; margin-right: clamp(1.25rem, 6vw, 6rem) !important; margin-bottom: 40vh !important; }
}
.ra-sub { font-size: 0.78rem !important; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--charcoal); margin-top: -0.5rem !important; }
