/*
Theme Name: Kadence Child
Theme URI: https://littlecrownsbigconfidence.com
Description: Child theme for Little Crowns, Big Confidence
Author: Majestic Group LLC Publishing
Template: kadence
Version: 1.0.0
Text Domain: kadence-child
*/

/* Hide redundant/low-contrast site-title text next to the logo image
   (logo already carries the brand name; the text was rendering the raw
   site URL in near-white on the white header background). */
.site-branding .site-title,
.mobile-site-branding .site-title {
	display: none;
}

/* ==========================================================================
   :root Variables + Base
   ========================================================================== */
:root {
	/* Redesign palette (Material 3-inspired) */
	--crown:#180052; --crown-mid:#2D1B69; --crown-hover:#4C3393; --crown-lt:#EDE8FF;
	--gold:#FFD700; --gold-text:#7c5800; --gold-lt:#FEF8E8; --hibiscus:#C23B6E;
	--hibiscus-lt:#FDEAF2; --jade:#1B7A62; --jade-lt:#E3F4EE;
	--ivory:#FFFBF5; --body-text:#231947; --sec-text:#484550;
	--border:#cac4d2; --nav-dark:#1A1030;
	--radius-card:24px; --radius-btn:12px; --radius-pill:9999px;
}
body { background:var(--ivory); }

/* Material Symbols icon font */
.material-symbols-outlined {
	font-family:"Material Symbols Outlined";
	font-weight:normal; font-style:normal;
	font-size:24px; line-height:1; letter-spacing:normal;
	text-transform:none; display:inline-block; white-space:nowrap;
	word-wrap:normal; direction:ltr;
	-webkit-font-feature-settings:'liga'; font-feature-settings:'liga';
	-webkit-font-smoothing:antialiased;
	font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
	vertical-align:middle;
}

/* Sparkle float animation */
@keyframes sparkle {
	0%,100% { transform:translateY(0) scale(1); opacity:.8; }
	50% { transform:translateY(-10px) scale(1.2); opacity:1; }
}
.sparkle-float { display:inline-block; animation:sparkle 3s ease-in-out infinite; }

/* Card + badge + icon-circle components */
.card-royal {
	background:#fff; border-radius:var(--radius-card);
	box-shadow:0 10px 30px -5px rgba(26,16,48,.08);
	border:1px solid var(--crown-lt);
}
.badge-pill {
	display:inline-flex; align-items:center; gap:6px;
	background:var(--crown-lt); color:var(--crown);
	padding:6px 16px; border-radius:var(--radius-pill);
	font:700 13px "DM Sans",sans-serif; letter-spacing:.02em;
}
.icon-circle {
	width:64px; height:64px; border-radius:50%;
	background:var(--crown-lt); color:var(--crown);
	display:flex; align-items:center; justify-content:center;
	margin:0 auto 20px; transition:background .25s ease,color .25s ease;
}
.card-royal:hover .icon-circle { background:var(--crown); color:#fff; }

/* Responsive grid helper (mockup "bento" grids collapse to 1 col on mobile) */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:900px) {
	.grid-2, .grid-3, .grid-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
	.grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; }
}

/* ==========================================================================
   Accessibility + Buttons
   ========================================================================== */

/* Skip to Content (Accessibility — WCAG AA) */
.skip-link {
	position:absolute; top:-100%; left:16px;
	background:var(--crown); color:#fff;
	padding:8px 18px; border-radius:0 0 8px 8px;
	font:600 14px/1 "DM Sans",sans-serif; z-index:9999;
}
.skip-link:focus { top:0; }

/* Focus States (WCAG AA — all interactive elements) */
*:focus-visible {
	outline:3px solid var(--gold);
	outline-offset:3px; border-radius:4px;
}

/* Buttons */
.btn-crown { background:var(--crown); color:#fff;
	border-radius:var(--radius-btn); padding:12px 28px;
	font:700 14px "DM Sans",sans-serif; border:none; display:inline-block; }
.btn-gold { background:var(--gold); color:var(--crown);
	border-radius:var(--radius-btn); padding:12px 28px;
	font:700 14px "DM Sans",sans-serif; border:none; display:inline-block; }
.btn-outline { background:transparent; color:var(--crown);
	border:2px solid var(--crown);
	border-radius:var(--radius-btn); padding:10px 26px; display:inline-block; }
.btn-gold-lg { background:var(--gold); color:var(--crown);
	border-radius:var(--radius-btn); padding:16px 32px;
	font:700 16px "DM Sans",sans-serif; border:none; display:inline-block;
	box-shadow:0 10px 15px -3px rgba(24,0,82,.15); }
.btn-outline-lg { background:transparent; color:var(--crown);
	border:2px solid var(--crown);
	border-radius:var(--radius-btn); padding:14px 30px;
	font:700 16px "DM Sans",sans-serif; display:inline-block; }
.btn-gold, .btn-crown, .btn-outline, .btn-gold-lg, .btn-outline-lg {
	transition:transform .2s ease, box-shadow .2s ease; text-decoration:none !important; }
.btn-gold:hover, .btn-crown:hover, .btn-gold-lg:hover { transform:translateY(-2px) scale(1.02); }
.btn-outline:hover, .btn-outline-lg:hover { background:var(--crown); color:#fff; }
.wp-block-kadence-button a:hover {
	transform:translateY(-2px);
	box-shadow:0 6px 20px rgba(45,27,105,.25);
	transition:all .2s ease; }

/* Floating sticky Shop CTA (bottom-right, above mobile nav on small screens) */
.floating-shop-cta {
	position:fixed; right:24px; bottom:96px; z-index:9997;
	background:var(--gold); color:var(--crown); font:700 14px "DM Sans",sans-serif;
	padding:14px 24px; border-radius:var(--radius-pill);
	display:flex; align-items:center; gap:8px; text-decoration:none;
	box-shadow:0 10px 30px -5px rgba(26,16,48,.25);
	transition:transform .2s ease;
}
.floating-shop-cta:hover { transform:scale(1.05); color:var(--crown); }
@media (min-width:769px) { .floating-shop-cta { bottom:32px; } }

/* Fixed mobile bottom navigation */
.mobile-bottom-nav {
	display:none; position:fixed; left:0; right:0; bottom:0; z-index:9996;
	background:#fff; box-shadow:0 -4px 20px rgba(26,16,48,.06);
	border-radius:16px 16px 0 0; padding:8px 8px calc(8px + env(safe-area-inset-bottom));
	justify-content:space-around; align-items:center;
}
.mobile-bottom-nav a {
	display:flex; flex-direction:column; align-items:center; gap:2px;
	color:var(--sec-text); text-decoration:none; font:600 11px "DM Sans",sans-serif;
	padding:6px 10px; border-radius:12px;
}
.mobile-bottom-nav a.active { background:var(--crown-lt); color:var(--crown); }
@media (max-width:768px) { .mobile-bottom-nav { display:flex; } }
body.has-mobile-nav { padding-bottom:72px; }
@media (min-width:769px) { body.has-mobile-nav { padding-bottom:0; } }

/* ==========================================================================
   Spacing, Animations, Components
   ========================================================================== */

/* Section Spacing (120px per review recommendation) */
.kb-section { padding:120px 0 !important; }

/* Scroll Animations */
@keyframes fadeUp {
	from { opacity:0; transform:translateY(24px); }
	to   { opacity:1; transform:translateY(0); }
}
.animate-fade-up { animation:fadeUp .6s ease both; }

/* Image hover zoom */
.kb-img-wrap img:hover { transform:scale(1.02); transition:.3s ease; }

/* Sticky Header Logo Shrink */
.kadence-sticky-header .site-logo img {
	width:140px !important; transition:width .3s ease; }

/* Hero Watermark */
.hero-watermark { position:relative; overflow:hidden; }
.hero-watermark::before {
	content:"CROWNS";
	font:900 120px "Playfair Display",serif;
	color:var(--gold); opacity:.06;
	position:absolute; top:50%; left:50%;
	transform:translate(-50%,-50%);
	white-space:nowrap; pointer-events:none; z-index:0;
}

