/*
Theme Name: Rozo
Theme URI: https://rozolabs.com
Author: Marketeer India
Description: Rozo brand theme. Royal Blue and Golden Yellow, Sora and Inter Tight. Built on Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.0.2
Requires at least: 6.7
Text Domain: rozo
*/

/* Brand rules: no red, no black; never yellow text on white; text on yellow is Royal Blue. */
:root {
	--rozo-blue: #1F3FBF;
	--rozo-blue-deep: #18339C;
	--rozo-yellow: #FFC107;
	--rozo-sun-soft: #FFF3CD;
	--rozo-ink: #1A1F36;
	--rozo-slate: #3B4466;
	--rozo-mist: #F6F6FB;
	--rozo-line: #E3E6F2;
}

body { color: var(--rozo-ink); background: #FFFFFF; }
strong, b { font-weight: 600; }

/* ---------- Header ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
.rozo-header {
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--rozo-line);
	padding-top: 14px;
	padding-bottom: 14px;
}
.rozo-logo { display: inline-flex; align-items: center; }
.rozo-logo img { height: 30px; width: auto; display: block; }
.rozo-header .wp-block-navigation { font-size: 15px; font-weight: 500; gap: 6px 22px; }
.rozo-header .wp-block-navigation a { color: var(--rozo-slate); text-decoration: none; }
.rozo-header .wp-block-navigation a:hover { color: var(--rozo-blue); }
.rozo-header .rozo-nav-login a { color: var(--rozo-blue); font-weight: 600; }
.rozo-header .rozo-nav-cta a {
	background: var(--rozo-blue);
	color: #FFFFFF !important;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 600;
}
.rozo-header .rozo-nav-cta a:hover { background: var(--rozo-blue-deep); color: #FFFFFF; }

/* ---------- Sections ---------- */
.rozo-section { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.rozo-mist { background: var(--rozo-mist); }
.rozo-muted, .rozo-muted p { color: var(--rozo-slate); }
.rozo-small { font-size: 14px; }
.rozo-lead { font-size: clamp(18px, 2vw, 21px); max-width: 640px; }

.rozo-hero {
	background:
		radial-gradient(ellipse 70% 60% at 85% 120%, rgba(255, 193, 7, 0.22), transparent 70%),
		radial-gradient(ellipse 60% 50% at 10% -20%, rgba(255, 255, 255, 0.10), transparent 70%),
		var(--rozo-blue);
	color: #FFFFFF;
	padding-top: clamp(64px, 10vw, 120px);
	padding-bottom: clamp(64px, 10vw, 112px);
}
.rozo-hero h1, .rozo-hero h2, .rozo-hero h3 { color: #FFFFFF; }
.rozo-hero h1 { font-size: clamp(38px, 6vw, 66px); line-height: 1.06; max-width: 15ch; }
.rozo-hero h1 strong { color: var(--rozo-yellow); font-weight: inherit; }
.rozo-hero p { color: rgba(255, 255, 255, 0.86); }
.rozo-hero a:not(.wp-element-button) { color: #FFFFFF; }
.rozo-hero .rozo-small { color: rgba(255, 255, 255, 0.7); }
.rozo-hero-compact { padding-top: clamp(48px, 7vw, 80px); padding-bottom: clamp(48px, 7vw, 72px); }
.rozo-hero-compact h1 { font-size: clamp(34px, 5vw, 52px); max-width: 20ch; }

.rozo-pill {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.15);
	color: #FFFFFF;
}
.rozo-status { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; letter-spacing: 0.02em; }
.rozo-status-live { background: var(--rozo-blue); color: #FFFFFF; }
.rozo-status-soon { background: var(--rozo-sun-soft); color: var(--rozo-blue); }
.rozo-status-ready { background: var(--rozo-yellow); color: var(--rozo-blue); }

/* ---------- Family hub (home) ---------- */
.rozo-hero-columns { align-items: center !important; gap: 48px; }
.rozo-hero-apps { color: var(--rozo-ink); box-shadow: 0 40px 90px -40px rgba(8, 20, 80, 0.7); padding: 22px 24px; }
.rozo-hero .rozo-hero-apps p { color: var(--rozo-slate); }
.rozo-hero .rozo-hero-apps a { color: var(--rozo-blue); }
.rozo-eyebrow { font-size: 12px !important; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 6px !important; }
.rozo-app-row { padding: 12px 0; border-bottom: 1px solid var(--rozo-line); }
.rozo-app-row:last-of-type { border-bottom: 0; }
.rozo-app-row p, .rozo-app-row figure { margin: 0 !important; }
.rozo-app-row img { display: block; }
.rozo-app-card .rozo-product-logo { margin: 6px 0 4px; }
.rozo-card .rozo-app-address { font-size: 13px; color: var(--rozo-blue); font-weight: 600; letter-spacing: 0.01em; margin-bottom: 0; }
.rozo-product-logo img { max-width: 100%; }

/* Apps dropdown in the header */
.rozo-header .wp-block-navigation__submenu-container { border: 1px solid var(--rozo-line) !important; border-radius: 14px; padding: 8px 0 !important; box-shadow: 0 20px 50px -24px rgba(26, 31, 54, 0.35); min-width: 270px !important; }
.rozo-header .wp-block-navigation__submenu-container a { padding: 9px 18px !important; }

/* ---------- Cards ---------- */
.rozo-card {
	background: #FFFFFF;
	border: 1px solid var(--rozo-line);
	border-radius: 18px;
	padding: 26px;
	height: 100%;
	box-sizing: border-box;
}
.rozo-card h3 { font-size: 19px; margin-top: 0.4em; margin-bottom: 0.3em; }
.rozo-card p { font-size: 15px; color: var(--rozo-slate); margin-top: 0; }
.rozo-card .rozo-icon { font-size: 28px; margin: 0; line-height: 1; }
.rozo-card a { font-weight: 600; text-decoration: none; }
.rozo-card a:hover { text-decoration: underline; }
.rozo-cards > .wp-block-column { display: flex; }
.rozo-cards > .wp-block-column > .rozo-card { width: 100%; }

/* ---------- Pricing ---------- */
.rozo-plan { display: flex; flex-direction: column; }
.rozo-plan .wp-block-list { flex: 1; padding-left: 0; list-style: none; font-size: 15px; color: var(--rozo-slate); }
.rozo-plan .wp-block-list li { padding: 5px 0 5px 26px; position: relative; }
.rozo-plan .wp-block-list li::before { content: "✓"; position: absolute; left: 0; color: var(--rozo-blue); font-weight: 700; }
.rozo-card .rozo-price { font-family: "Sora", sans-serif; font-size: 40px; font-weight: 700; color: var(--rozo-blue); margin: 4px 0 0 !important; line-height: 1.1; }
.rozo-price-note { font-size: 13px !important; color: var(--rozo-slate); margin-top: 2px !important; }
.rozo-plan-popular { border: 2px solid var(--rozo-blue); box-shadow: 0 24px 60px -30px rgba(31, 63, 191, 0.45); }
.rozo-plan .wp-block-buttons { margin-top: auto; }
.rozo-plan .wp-block-button, .rozo-plan .wp-block-button__link { width: 100%; text-align: center; }

/* ---------- Call-to-action band ---------- */
.rozo-cta { background: var(--rozo-blue); color: #FFFFFF; border-radius: 24px; padding: clamp(28px, 4vw, 48px); }
.rozo-cta h2 { color: #FFFFFF; margin-top: 0; }
.rozo-cta p { color: rgba(255, 255, 255, 0.86); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-sun .wp-block-button__link { background: var(--rozo-yellow); color: var(--rozo-blue); }
.wp-block-button.is-style-sun .wp-block-button__link:hover { background: #FFCD38; }
.wp-block-button.is-style-light-outline .wp-block-button__link {
	background: transparent;
	color: #FFFFFF;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.55);
}
.wp-block-button.is-style-light-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.1); }
.wp-block-button__link:hover { background: var(--rozo-blue-deep); }

/* ---------- FAQ ---------- */
.rozo-faq .wp-block-details { border-bottom: 1px solid var(--rozo-line); padding: 18px 0; }
.rozo-faq .wp-block-details summary { font-family: "Sora", sans-serif; font-weight: 600; cursor: pointer; }
.rozo-faq .wp-block-details p { color: var(--rozo-slate); margin-bottom: 0; }

/* ---------- Legal and simple pages ---------- */
.rozo-page { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(56px, 8vw, 96px); }
.rozo-page h1 { font-size: clamp(32px, 4.5vw, 46px); }
.rozo-page h2 { font-size: 23px; margin-top: 2em; }
.rozo-page li { margin-bottom: 0.4em; }
.rozo-updated { color: var(--rozo-slate); font-size: 14px; }
.rozo-contact-card { border: 1px solid var(--rozo-line); border-radius: 18px; padding: 8px 26px; }
.rozo-contact-card h3 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rozo-slate); margin-bottom: 4px; margin-top: 22px; }
.rozo-contact-card p { font-size: 18px; margin-top: 0; }

/* ---------- Footer ---------- */
.rozo-footer { background: var(--rozo-blue); color: rgba(255, 255, 255, 0.86); padding-top: 64px; padding-bottom: 24px; font-size: 15px; }
.rozo-footer a { color: rgba(255, 255, 255, 0.86); text-decoration: none; }
.rozo-footer a:hover { color: #FFFFFF; text-decoration: underline; }
.rozo-footer h2 { color: var(--rozo-yellow); font-size: 14px; letter-spacing: 0.04em; margin-bottom: 10px; }
.rozo-footer .wp-block-list { list-style: none; padding-left: 0; margin-top: 0; }
.rozo-footer .wp-block-list li { padding: 4px 0; }
.rozo-footer .rozo-logo img { height: 32px; }
.rozo-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.16); margin-top: 40px; padding-top: 18px; font-size: 13px; color: rgba(255, 255, 255, 0.7); }

@media (max-width: 781px) {
	.rozo-header .rozo-nav-cta a { padding: 8px 14px; }
	.rozo-hero h1 { max-width: none; }
}
