/* =========================================================================
   EDUMA CHILD — PLAYFUL & BRIGHT REDESIGN
   Recolours the WHOLE site (theme + Elementor) by overriding CSS variables,
   then re-styles every major component. Light-based for legibility. Safe &
   fully reversible. No plugin or parent-theme file is modified.
   ========================================================================= */

/* ---- 1. PALETTE — swap these 6 lines to re-theme everything -------------- */
:root {
	--pb-primary:   #FF6B4A;   /* coral  — main brand / CTAs      */
	--pb-secondary: #14B8A6;   /* teal   — accents / prices       */
	--pb-tertiary:  #FFC24B;   /* sun    — highlights             */
	--pb-purple:    #7C5CFC;   /* grape  — secondary accents      */
	--pb-ink:       #241933;   /* dark headings / footer          */
	--pb-base:      #FFFBF5;   /* warm page background            */

	/* derived tones */
	--pb-primary-d:   #E8543A;
	--pb-secondary-d: #0E9488;
	--pb-purple-d:    #6741E6;
	--pb-surface:     #ffffff;
	--pb-text:        #4B5563;
	--pb-muted:       #6B7280;
	--pb-border:      #F0E6D8;
	--pb-footer:      #241933;
	--pb-copyright:   #1B1226;

	--pb-font-head: "Fredoka", "Baloo 2", ui-rounded, system-ui, sans-serif;
	--pb-font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;

	--pb-r-card: 20px;
	--pb-r-md:   14px;
	--pb-r-btn:  999px;

	--pb-ease:  cubic-bezier(.34, 1.4, .5, 1);   /* springy   */
	--pb-ease2: cubic-bezier(.4, 0, .2, 1);      /* standard  */

	--pb-shadow-sm: 0 3px 10px rgba(36, 25, 51, .07);
	--pb-shadow:    0 16px 34px -16px rgba(36, 25, 51, .22);
	--pb-shadow-lg: 0 30px 55px -22px rgba(255, 107, 74, .40);
}

/* ---- 2. Map palette onto EDUMA theme variables -------------------------- */
:root {
	--thim-body-primary-color:      var(--pb-primary) !important;
	--thim-font-title-color:        var(--pb-ink) !important;
	--thim-font-body-color:         var(--pb-text) !important;
	--thim-body-bg-color:           var(--pb-base) !important;
	--thim-border-color:            var(--pb-border) !important;
	--thim-button-text-color:       #ffffff !important;
	--thim-button-hover-color:      var(--pb-primary-d) !important;
	--thim-course-price-color:      var(--pb-secondary-d) !important;
	--thim-border-radius-item:      var(--pb-r-card) !important;
	--thim-border-radius-button:    var(--pb-r-btn) !important;
	--thim-font-title-font-family:  var(--pb-font-head) !important;
	--thim-font-body-font-family:   var(--pb-font-body) !important;

	--thim-main-menu-text-color:        var(--pb-ink) !important;
	--thim-main-menu-text-hover-color:  var(--pb-primary) !important;
	--thim-sticky-main-menu-text-color: var(--pb-ink) !important;
	--thim-mobile-menu-text-color:      var(--pb-ink) !important;
	--thim-bg-mobile-menu-color:        #ffffff !important;
	--thim-link-color-toolbar:          var(--pb-ink) !important;
	--thim-link-hover-color-toolbar:    var(--pb-primary) !important;

	--thim-footer-bg-color:     var(--pb-footer) !important;
	--thim-footer-color-text:   #C7BCE0 !important;
	--thim-footer-color-link:   #C7BCE0 !important;
	--thim-footer-color-hover:  var(--pb-tertiary) !important;
	--thim-footer-color-title:  #ffffff !important;
	--thim-copyright-bg-color:  var(--pb-copyright) !important;
}

/* ---- 3. Map palette onto ELEMENTOR global variables --------------------- */
:root {
	--e-global-color-primary:   var(--pb-ink) !important;
	--e-global-color-secondary: var(--pb-primary) !important;
	--e-global-color-text:      var(--pb-text) !important;
	--e-global-color-accent:    var(--pb-secondary) !important;
	--e-global-typography-primary-font-family:   "Fredoka" !important;
	--e-global-typography-secondary-font-family: "Fredoka" !important;
	--e-global-typography-text-font-family:      "Nunito" !important;
	--e-global-typography-accent-font-family:    "Nunito" !important;
}

/* ---- 4. Base + ambient colour wash -------------------------------------- */
html { scroll-behavior: smooth; }

body {
	background-color: var(--pb-base) !important;
	background-image:
		radial-gradient(900px 460px at 100% -6%, rgba(255, 194, 75, .20), transparent 60%),
		radial-gradient(820px 440px at -8% 2%, rgba(124, 92, 252, .13), transparent 58%) !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed, fixed !important;
	font-family: var(--pb-font-body) !important;
	color: var(--pb-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .course-title, .course-item-title,
.elementor-heading-title, .thim-ekits-heading__title,
.widget-title, .thim-widget-title {
	font-family: var(--pb-font-head) !important;
	color: var(--pb-ink);
	letter-spacing: -.01em;
	font-weight: 600;
}

p, li, td, .elementor-widget-text-editor,
.elementor-widget-text-editor p { font-family: var(--pb-font-body) !important; }

a { transition: color .2s var(--pb-ease2); }

::selection { background: var(--pb-primary); color: #fff; }

* { scrollbar-color: var(--pb-primary) transparent; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-thumb {
	background: var(--pb-primary);
	border-radius: 20px;
	border: 3px solid var(--pb-base);
}
::-webkit-scrollbar-thumb:hover { background: var(--pb-primary-d); }

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, .course-item a:focus-visible {
	outline: 3px solid var(--pb-primary);
	outline-offset: 2px;
	border-radius: 6px;
}

/* ---- 5. Buttons --------------------------------------------------------- */
.button, button, input[type="submit"], input[type="button"],
.lp-button, .course-readmore, .thim-button, .wp-block-button__link,
.learn-press-button, .single-course-buttons .lp-button, .elementor-button,
.woocommerce a.button, .woocommerce button.button, .search-submit, .added_to_cart {
	font-family: var(--pb-font-head) !important;
	font-weight: 600 !important;
	border-radius: var(--pb-r-btn) !important;
	letter-spacing: .01em;
	transition: transform .25s var(--pb-ease),
	            box-shadow .25s var(--pb-ease2),
	            background-color .25s var(--pb-ease2),
	            filter .2s var(--pb-ease2) !important;
}

/* Primary filled buttons — coral gradient */
.button, button, input[type="submit"], input[type="button"],
.lp-button, .course-readmore, .thim-button, .wp-block-button__link,
.learn-press-button, .single-course-buttons .lp-button,
.woocommerce a.button, .woocommerce button.button, .search-submit {
	background: linear-gradient(135deg, var(--pb-primary), var(--pb-primary-d)) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 9px 20px -9px rgba(255, 107, 74, .65) !important;
}

.button:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover,
.lp-button:hover, .course-readmore:hover, .thim-button:hover, .wp-block-button__link:hover,
.learn-press-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.search-submit:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 18px 30px -10px rgba(255, 107, 74, .75) !important;
	filter: brightness(1.04);
}

.button:active, button:active, .lp-button:active { transform: translateY(0) scale(.99); }

.elementor-button:hover { transform: translateY(-3px) scale(1.02); }

/* ---- 6. Course cards ---------------------------------------------------- */
.learn-press-courses .course-item,
.courses-list .course-item,
.thim-course-grid .course-item,
.course-item:has(.thim-course-content) {
	background: var(--pb-surface) !important;
	border: 2px solid var(--pb-border) !important;
	border-radius: var(--pb-r-card) !important;
	overflow: hidden;
	box-shadow: var(--pb-shadow-sm) !important;
	transition: transform .32s var(--pb-ease),
	            box-shadow .32s var(--pb-ease2),
	            border-color .32s var(--pb-ease2) !important;
}

.learn-press-courses .course-item:hover,
.courses-list .course-item:hover,
.thim-course-grid .course-item:hover,
.course-item:has(.thim-course-content):hover {
	transform: translateY(-10px);
	box-shadow: var(--pb-shadow-lg) !important;
	border-color: var(--pb-primary) !important;
}

.course-item .course-thumbnail,
.course-item .thim-course-content > a:first-child { overflow: hidden; }

.course-item .course-thumbnail img,
.course-item .thim-course-content img {
	transition: transform .6s var(--pb-ease2);
	width: 100%;
	display: block;
}
.course-item:hover .course-thumbnail img,
.course-item:hover .thim-course-content img { transform: scale(1.08); }

/* Category chips + price */
.course-categories a, .course-item .course-categories,
.thim-ekits-course-category .course-count {
	background: color-mix(in srgb, var(--pb-secondary) 14%, #fff) !important;
	color: var(--pb-secondary-d) !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	font-weight: 700;
	font-family: var(--pb-font-head);
}
.course-item .course-price .price, .course-item .price {
	color: var(--pb-secondary-d) !important;
	font-weight: 800;
	font-family: var(--pb-font-head);
}

/* ---- 7. Blog / post cards ---------------------------------------------- */
article[class*="blog-grid-"] .content-inner,
.grid-layout-1 .content-inner,
.blog-page article .content-inner {
	background: var(--pb-surface);
	border: 2px solid var(--pb-border);
	border-radius: var(--pb-r-card) !important;
	overflow: hidden;
	box-shadow: var(--pb-shadow-sm);
	transition: transform .32s var(--pb-ease),
	            box-shadow .32s var(--pb-ease2),
	            border-color .32s var(--pb-ease2);
}
article[class*="blog-grid-"] .content-inner:hover,
.grid-layout-1 .content-inner:hover,
.blog-page article .content-inner:hover {
	transform: translateY(-8px);
	box-shadow: 0 30px 55px -22px rgba(124, 92, 252, .40);
	border-color: var(--pb-purple);
}
article[class*="blog-grid-"] .content-inner img,
.grid-layout-1 .content-inner img { transition: transform .6s var(--pb-ease2); }
article[class*="blog-grid-"] .content-inner:hover img,
.grid-layout-1 .content-inner:hover img { transform: scale(1.06); }

.read-more, .readmore {
	font-family: var(--pb-font-head);
	font-weight: 600;
	color: var(--pb-primary);
	transition: color .2s var(--pb-ease2);
}

/* ---- 8. Header / navigation -------------------------------------------- */
#masthead { transition: box-shadow .3s var(--pb-ease2), background-color .3s var(--pb-ease2); }
#masthead.minimized, #masthead.header-fixed, .affix #masthead,
.thim-sticky-menu.minimized {
	background: #ffffff !important;
	box-shadow: var(--pb-shadow);
}

#masthead .navbar-nav > li > a,
#masthead ul.menu > li > a,
.main-menu > li > a {
	font-family: var(--pb-font-head) !important;
	font-weight: 500;
	background-image: linear-gradient(var(--pb-primary), var(--pb-primary));
	background-repeat: no-repeat;
	background-position: 50% 92%;
	background-size: 0% 3px;
	border-radius: 3px;
	transition: background-size .28s var(--pb-ease2), color .2s var(--pb-ease2);
}
#masthead .navbar-nav > li > a:hover,
#masthead ul.menu > li > a:hover,
#masthead .navbar-nav > li.current-menu-item > a { background-size: 70% 3px; }

/* Top toolbar / login button pill */
.thim-login a, .top-bar .thim-login, a.thim-login,
.header .login-popup, .top-menu .register {
	border-radius: var(--pb-r-btn) !important;
}

/* Mobile menu smoother */
.mobile-menu-container, .mobile-menu-inner {
	transition: transform .3s var(--pb-ease2), opacity .3s var(--pb-ease2);
}

/* ---- 9. Forms ----------------------------------------------------------- */
.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.comment-form input:not([type="submit"]), .comment-form textarea,
.search-form input[type="search"], .lp-form input:not([type="submit"]),
form.register input:not([type="submit"]), form.login input:not([type="submit"]),
.learn-press-form input:not([type="submit"]), select, textarea {
	border-radius: var(--pb-r-md) !important;
	border: 2px solid var(--pb-border) !important;
	font-family: var(--pb-font-body) !important;
	transition: border-color .2s var(--pb-ease2), box-shadow .2s var(--pb-ease2) !important;
}
.wpcf7-form-control:not([type="submit"]):focus,
.comment-form input:focus, .comment-form textarea:focus,
.search-form input[type="search"]:focus, .lp-form input:focus,
form.register input:focus, form.login input:focus,
.learn-press-form input:focus, select:focus, textarea:focus {
	border-color: var(--pb-primary) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--pb-primary) 28%, transparent) !important;
	outline: none !important;
}

/* ---- 10. Footer --------------------------------------------------------- */
#colophon {
	border-top-left-radius: 34px;
	border-top-right-radius: 34px;
	overflow: hidden;
}
#colophon .footer-widget .widget-title,
#colophon .widget-title, #colophon h1, #colophon h2,
#colophon h3, #colophon h4 { color: #fff !important; font-family: var(--pb-font-head) !important; }

#colophon a { transition: color .2s var(--pb-ease2), transform .2s var(--pb-ease2); }
#colophon .thim-social-v2 a, #colophon .socials a, #colophon .social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(255, 255, 255, .08);
}
#colophon .thim-social-v2 a:hover, #colophon .socials a:hover, #colophon .social a:hover {
	background: var(--pb-primary);
	color: #fff !important;
	transform: translateY(-3px);
}

/* ---- 11. Sections, cards, misc widgets ---------------------------------- */
.thim-ekits-testimonials__item,
.thim-ekits-list-instructors__item,
.thim-ekits-event__item,
.thim-widget-course-item, .thim-course-item {
	border-radius: var(--pb-r-card);
	overflow: hidden;
	transition: transform .3s var(--pb-ease), box-shadow .3s var(--pb-ease2);
}
.thim-ekits-testimonials__item:hover,
.thim-ekits-list-instructors__item:hover { transform: translateY(-6px); }

/* Section heading accent underline */
.thim-ekits-heading .thim-ekits-heading__title::after {
	content: "";
	display: block;
	width: 64px; height: 5px;
	margin-top: 14px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--pb-primary), var(--pb-tertiary));
}
.thim-ekits-heading.thim-ekits-text-center .thim-ekits-heading__title::after,
.elementor-widget-heading.th-center .elementor-heading-title::after { margin-left: auto; margin-right: auto; }

/* Stat counters pop */
.thim-ekits-counter__number, .elementor-counter-number,
.counter-value { color: var(--pb-primary) !important; font-family: var(--pb-font-head) !important; }

/* ---- 12. Pagination ----------------------------------------------------- */
.learn-press-pagination .page-numbers,
.navigation .nav-links .page-numbers,
.pagination .page-numbers {
	border-radius: 50% !important;
	min-width: 42px; height: 42px;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--pb-font-head);
	transition: transform .2s var(--pb-ease2), background-color .2s, color .2s !important;
}
.learn-press-pagination .page-numbers.current,
.navigation .nav-links .page-numbers.current,
.pagination .page-numbers.current {
	background: linear-gradient(135deg, var(--pb-primary), var(--pb-primary-d)) !important;
	color: #fff !important;
}
.learn-press-pagination .page-numbers:hover,
.pagination .page-numbers:hover { transform: translateY(-2px); }

/* ---- 13. Single course / lesson polish --------------------------------- */
.single-course .course-summary-sidebar__inner,
.course-summary-sidebar .course-price,
#learn-press-course-curriculum {
	border-radius: var(--pb-r-card) !important;
}
.course-tab-panel, .learn-press-tabs .tabs { border-radius: var(--pb-r-md); overflow: hidden; }
.lp-single-course .course-price .price,
.course-summary-sidebar .price { color: var(--pb-secondary-d) !important; font-family: var(--pb-font-head); font-weight: 800; }

/* ---- 14. Content tables & blockquotes ---------------------------------- */
.entry-content table {
	border-collapse: separate; border-spacing: 0;
	border-radius: var(--pb-r-md); overflow: hidden;
	border: 2px solid var(--pb-border); width: 100%;
}
.entry-content table th, .entry-content table td { border-bottom: 1px solid var(--pb-border); }
.entry-content table thead th {
	background: linear-gradient(135deg, var(--pb-primary), var(--pb-primary-d));
	color: #fff; font-family: var(--pb-font-head);
}
.entry-content table tr:last-child td { border-bottom: 0; }
.entry-content blockquote {
	border-left: 5px solid var(--pb-primary);
	background: color-mix(in srgb, var(--pb-primary) 8%, #fff);
	border-radius: 0 var(--pb-r-md) var(--pb-r-md) 0;
	padding: 1em 1.25em;
}

/* ---- 15. Accessibility: respect reduced motion ------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
	.course-item:hover, .content-inner:hover,
	.button:hover, button:hover { transform: none !important; }
}
