/**
 * A2Z Dental Academy — brand layer for HiStudy + Tutor LMS + Elementor.
 * Loaded at wp_enqueue_scripts priority 999 so it lands after the theme.
 *
 * Palette
 *   primary      #8a0304   dark   #680203   bright #bf0a13
 *   grey         #737071   light  #c4c4c4   black  #151A22
 * Fonts: Montserrat (Latin), IBM Plex Sans Arabic (Arabic / RTL).
 *
 * Strategy: re-point HiStudy's CSS custom properties first (cheap, broad),
 * then override the handful of classes that hard-code purple gradients.
 */

/* ======================================================================
   1. Tokens
   ====================================================================== */
:root,
body {
	--a2z-red: #8a0304;
	--a2z-red-dark: #680203;
	--a2z-red-bright: #bf0a13;
	--a2z-grey: #737071;
	--a2z-grey-light: #c4c4c4;
	--a2z-black: #151a22;
	--a2z-gradient: linear-gradient(90deg, #680203 0%, #8a0304 45%, #bf0a13 100%);
	--a2z-gradient-soft: linear-gradient(135deg, rgba(138, 3, 4, .08) 0%, rgba(191, 10, 19, .04) 100%);
	--a2z-font-latin: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--a2z-font-arabic: "IBM Plex Sans Arabic", "Montserrat", system-ui, Tahoma, Arial, sans-serif;

	/* HiStudy core colours */
	--color-primary: #8a0304;
	--color-primary-alt: #680203;
	--color-primary-dark: #680203;
	--color-primary-darker: #4d0102;
	--color-primary-light: #bf0a13;
	--color-primary-lighter: #f8e9e9;
	--color-secondary: #bf0a13;
	--color-secondary-alt: #fdecec;
	--color-tertiary: #680203;
	--color-coral: #bf0a13;
	--color-violet: #680203;
	--color-pink: #bf0a13;
	--color-heading: #151a22;
	--color-body: #5f5c5d;
	--color-dark: #151a22;
	--color-darker: #0e1117;
	--color-gray: #737071;
	--color-gray-light: #f4f2f2;
	--color-gray-lighter: #faf8f8;
	--color-border: #ebe6e6;
	--color-border-2: #e4dddd;
	--color-link: #8a0304;

	/* HiStudy opacity tints */
	--primary-opacity: rgba(138, 3, 4, .12);
	--secondary-opacity: rgba(191, 10, 19, .12);
	--coral-opacity: rgba(191, 10, 19, .12);
	--violet-opacity: rgba(104, 2, 3, .12);
	--pink-opacity: rgba(191, 10, 19, .12);
	--black-opacity: rgba(21, 26, 34, .08);
	--warning-opacity: rgba(191, 10, 19, .12);

	/* HiStudy gradients */
	--gradient-primary: var(--a2z-gradient);
	--gradient-secondary: linear-gradient(90deg, #8a0304 0%, #bf0a13 100%);
	--gradient-1: var(--a2z-gradient);
	--gradient-2: var(--a2z-gradient);
	--gradient-3: var(--a2z-gradient);
	--gradient-4: var(--a2z-gradient);
	--gradient-box-w: var(--a2z-gradient);

	/* HiStudy fonts */
	--font-primary: var(--a2z-font-latin);
	--font-secondary: var(--a2z-font-latin);

	/* Tutor LMS */
	--tutor-color-primary: #8a0304;
	--tutor-color-primary-rgb: 138, 3, 4;
	--tutor-color-primary-hover: #680203;
	--tutor-color-primary-hover-rgb: 104, 2, 3;
	--tutor-body-color: #5f5c5d;
	--tutor-border-color: #ebe6e6;

	/* Elementor global kit (primary/accent only; text colours left to the kit) */
	--e-global-color-primary: #8a0304;
	--e-global-color-accent: #bf0a13;
	--e-global-typography-primary-font-family: "Montserrat";
	--e-global-typography-secondary-font-family: "Montserrat";
	--e-global-typography-text-font-family: "Montserrat";
	--e-global-typography-accent-font-family: "Montserrat";
}

/* ======================================================================
   2. Typography
   ====================================================================== */
body,
button,
input,
select,
textarea,
.elementor-widget-text-editor,
.tutor-wrap,
.tutor-course-details-page {
	font-family: var(--a2z-font-latin);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.title, .rbt-title, .rbt-card-title,
.elementor-heading-title,
.tutor-course-details-title,
.tutor-course-name {
	font-family: var(--a2z-font-latin);
	color: var(--color-heading);
	letter-spacing: -0.01em;
}

/* Arabic / RTL */
[dir="rtl"],
[dir="rtl"] body,
[dir="rtl"] button,
[dir="rtl"] input,
[dir="rtl"] select,
[dir="rtl"] textarea,
:lang(ar),
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3, :lang(ar) h4, :lang(ar) h5, :lang(ar) h6,
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4, [dir="rtl"] h5, [dir="rtl"] h6,
[dir="rtl"] .elementor-heading-title,
[dir="rtl"] .rbt-title,
[dir="rtl"] .title {
	font-family: var(--a2z-font-arabic);
	letter-spacing: 0;
}
:lang(ar) { --font-primary: var(--a2z-font-arabic); --font-secondary: var(--a2z-font-arabic); }
[dir="rtl"] { --font-primary: var(--a2z-font-arabic); --font-secondary: var(--a2z-font-arabic); }
/* Arabic glyphs need a little more line height. */
:lang(ar) p, [dir="rtl"] p { line-height: 1.85; }

/* Phone numbers, emails and URLs stay LTR inside RTL text. */
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="mailto:"] { direction: ltr; unicode-bidi: embed; }

/* ======================================================================
   3. Links, selection, focus
   ====================================================================== */
a { color: var(--color-primary); }
a:hover, a:focus { color: var(--a2z-red-dark); }
.rbt-card-title a:hover,
.title a:hover,
.tutor-course-name a:hover { color: var(--color-primary) !important; }

::selection { background: #8a0304; color: #fff; }
::-moz-selection { background: #8a0304; color: #fff; }

:focus-visible {
	outline: 3px solid var(--a2z-red-bright);
	outline-offset: 2px;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline-offset: 0; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 3px rgba(191, 10, 19, .15) !important;
}

input[type="checkbox"], input[type="radio"] { accent-color: #8a0304; }

/* ======================================================================
   4. Buttons
   ====================================================================== */
.rbt-btn,
.tutor-btn-primary,
.elementor-button,
.wp-element-button,
.wp-block-button__link,
button[type="submit"]:not(.a2z-btn):not(.tutor-iconic-btn),
input[type="submit"] {
	transition: background-color .25s ease, background-position .4s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.rbt-btn,
.rbt-btn.btn-gradient,
.rbt-btn.btn-gradient.hover-icon-reverse,
.rbt-btn.btn-gradient-2,
.btn-gradient,
.tutor-btn-primary,
.wp-element-button,
.wp-block-button__link:not(.is-style-outline *),
input[type="submit"] {
	background-color: var(--a2z-red);
	background-image: var(--a2z-gradient) !important;
	background-size: 200% 100% !important;
	background-position: 0% 50%;
	border-color: transparent !important;
	color: #fff !important;
}
.rbt-btn:hover,
.rbt-btn.btn-gradient:hover,
.btn-gradient:hover,
.tutor-btn-primary:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
	background-color: var(--a2z-red-dark);
	background-position: 100% 50%;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(138, 3, 4, .28) !important;
}
.rbt-btn.btn-gradient::after,
.rbt-btn.btn-gradient::before { background: var(--a2z-gradient) !important; }

/* Outline / border / white variants */
.rbt-btn.btn-border,
.rbt-btn.btn-white,
.rbt-btn.btn-border-gradient,
.tutor-btn-outline-primary {
	background-image: none !important;
	background-color: transparent !important;
	color: var(--a2z-red) !important;
	border: 2px solid var(--a2z-red) !important;
}
.rbt-btn.btn-white { background-color: #fff !important; border-color: #fff !important; }
.rbt-btn.btn-transparent,
.rbt-btn.rbt-switch-btn.btn-transparent {
	background-image: none !important;
	background-color: transparent !important;
	color: var(--a2z-red) !important;
	box-shadow: none !important;
}
.rbt-btn.btn-border:hover,
.rbt-btn.btn-border-gradient:hover,
.rbt-btn.btn-white:hover,
.tutor-btn-outline-primary:hover {
	background-color: var(--a2z-red) !important;
	border-color: var(--a2z-red) !important;
	color: #fff !important;
}
.rbt-btn.btn-border-gradient::before,
.rbt-btn.btn-border-gradient::after { background: var(--a2z-gradient) !important; }

.rbt-btn-link,
.rbt-btn-link a,
.transparent-button { color: var(--a2z-red) !important; }
.rbt-btn-link::after,
.rbt-btn-link a::after { background: var(--a2z-red) !important; }

/* Elementor buttons using kit primary */
.elementor-button:not([style*="background"]) { background-color: var(--a2z-red); }
.elementor-button:hover { background-color: var(--a2z-red-dark); }

/* ======================================================================
   5. HiStudy gradient helpers
   ====================================================================== */
.theme-gradient,
.title .theme-gradient,
.theme-gradient-text,
.gradient-text,
.rbt-title .theme-gradient,
.rbt-gradient-text {
	background-image: var(--a2z-gradient) !important;
	background-color: transparent !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: var(--a2z-red);
}

.bg-gradient-1, .bg-gradient-2, .bg-gradient-3, .bg-gradient-4, .bg-gradient-5,
.bg-gradient-6, .bg-gradient-7, .bg-gradient-8, .bg-gradient-9, .bg-gradient-10,
.bg-gradient-11, .bg-gradient-12, .bg-gradient-13, .bg-gradient-14, .bg-gradient-15,
.bg-gradient-16, .bg-gradient-17, .bg-gradient-18, .bg-gradient-19, .bg-gradient-20,
.bg-theme-gradient,
.bg-primary-gradient,
.rbt-gradient-border,
.gradient-bg {
	background-image: var(--a2z-gradient-soft) !important;
}
.bg-theme-gradient.dark,
.bg-gradient-dark,
.rbt-callto-action.bg-gradient-6,
.rbt-callto-action.bg-gradient-7,
.rbt-callto-action.bg-gradient-8 {
	background-image: linear-gradient(135deg, #151a22 0%, #680203 100%) !important;
}

.bg-color-primary,
.bg-primary { background-color: var(--a2z-red) !important; }
.bg-secondary-opacity,
.bg-coral-opacity,
.bg-violet-opacity,
.bg-pink-opacity,
.bg-primary-opacity { background-color: rgba(138, 3, 4, .1) !important; }
.color-primary,
.color-secondary,
.color-coral,
.color-violet,
.color-pink,
.text-primary { color: var(--a2z-red) !important; }

/* Subtitle pills ("Popular Courses", etc.) */
.rbt-badge-2,
.rbt-badge,
.subtitle.bg-primary-opacity,
.subtitle.bg-secondary-opacity,
.subtitle.bg-pink-opacity,
.subtitle.bg-coral-opacity,
.subtitle.bg-violet-opacity,
.rbt-section-title .subtitle {
	color: var(--a2z-red) !important;
	background-color: rgba(138, 3, 4, .08) !important;
}

/* Decorative blurred blobs HiStudy tints purple/blue: rotate them into the red range. */
.theme-shape,
.rbt-banner-area .theme-shape {
	filter: hue-rotate(115deg) saturate(1.2);
}

/* ======================================================================
   6. Header / navigation
   ====================================================================== */
.mainmenu-nav .mainmenu > li > a:hover,
.mainmenu-nav .mainmenu > li.current-menu-item > a,
.mainmenu-nav .mainmenu > li.current-menu-ancestor > a,
.mainmenu-nav .mainmenu li.has-dropdown .submenu li a:hover,
.mainmenu-nav .mainmenu li.has-dropdown .submenu li a.active,
.rbt-header .rbt-header-top a:hover {
	color: var(--a2z-red) !important;
}
.mainmenu-nav .mainmenu li.has-dropdown .submenu li a:hover { background: rgba(138, 3, 4, .06) !important; }
.mainmenu-nav .mainmenu > li > a:hover::after,
.mainmenu-nav .mainmenu > li.current-menu-ancestor > a::after { color: var(--a2z-red) !important; }

/* hero slider: keep brand icon at badge size, hide emptied decorative shapes */
.elementor-widget-rb-banner-slider .star-icon svg,
.elementor-widget-rb-banner-slider .star-icon img { width: 18px !important; height: 18px !important; }
.elementor-widget-rb-banner-slider img[src=""],
img:not([src]), img[src=""] { display: none !important; }

/* Services dropdown: two columns */
@media (min-width: 1200px) {
	.mainmenu-nav .mainmenu > li.a2z-mega-2 > .submenu { min-width: 520px; column-count: 2; column-gap: 0; }
	.mainmenu-nav .mainmenu > li.a2z-mega-2 > .submenu > li { break-inside: avoid; }
}
.mainmenu-nav .mainmenu > li.a2z-mobile-only { display: none; }
.popup-mobile-menu li.a2z-mobile-only { display: block; }
.rbt-header-top.bg-color-darker,
.rbt-header-top-news.bg-image1,
.rbt-header-top.rbt-header-top-1 { background: var(--a2z-black) !important; }

/* ======================================================================
   7. Cards, meta, ratings, badges
   ====================================================================== */
.rbt-card .rbt-card-body .rbt-card-title a:hover { color: var(--a2z-red) !important; }
.rbt-card .rbt-badge-3,
.rbt-card .rbt-card-img .rbt-badge-3 { background: var(--a2z-gradient) !important; }
.rbt-meta li i,
.rbt-meta li svg,
.rbt-course-meta i { color: var(--a2z-red) !important; }
.rbt-category a,
.rbt-category-btn,
.tutor-course-category a { color: var(--a2z-red) !important; }
.rbt-category a:hover,
.rbt-category-btn:hover { background: var(--a2z-red) !important; color: #fff !important; border-color: var(--a2z-red) !important; }
.rating a, .rating i, .tutor-icon-star-full, .tutor-icon-star-line, .tutor-ratings-stars { color: #e3a008 !important; }

.rbt-card:hover,
.rbt-card.card-list-2:hover { box-shadow: 0 20px 48px rgba(138, 3, 4, .10) !important; }

/* Tutor generic */
.tutor-color-primary,
.tutor-nav-link.is-active,
.tutor-course-details-tab .tutor-nav-link.is-active { color: var(--a2z-red) !important; }
.tutor-nav-link.is-active::after,
.tutor-nav-link.is-active { border-color: var(--a2z-red) !important; }
.tutor-bg-primary { background-color: var(--a2z-red) !important; }
.tutor-accordion-item-header.is-active,
.tutor-accordion-item-header:hover { color: var(--a2z-red) !important; }

/* Tabs / pagination / sliders */
.rbt-pagination li.active a,
.rbt-pagination li a:hover,
.page-numbers.current,
.page-numbers:hover {
	background: var(--a2z-red) !important;
	border-color: var(--a2z-red) !important;
	color: #fff !important;
}
.swiper-pagination-bullet-active,
.rbt-swiper-pagination .swiper-pagination-bullet-active { background: var(--a2z-red) !important; }
.rbt-arrow-between .rbt-swiper-arrow:hover,
.swiper-button-next:hover,
.swiper-button-prev:hover { background: var(--a2z-red) !important; color: #fff !important; }
.nav-tabs .nav-link.active,
.tab-button-style-2 li a.active,
.rbt-tab-style .nav-link.active { color: var(--a2z-red) !important; border-color: var(--a2z-red) !important; }

/* Back to top progress */
.rbt-progress-parent svg.rbt-back-circle path { stroke: var(--a2z-red) !important; }
.rbt-progress-parent::after { color: var(--a2z-red) !important; }

/* Preloader / loaders */
.rbt-loader, .loader-inner, .preloader .loader { border-top-color: var(--a2z-red) !important; }

/* Footer */
.rbt-footer .footer-widget .ft-link li a:hover,
.footer-style-1 .ft-link li a:hover,
.rbt-footer a:hover { color: var(--a2z-red-bright) !important; }
.social-default li a:hover,
.social-icon li a:hover { background: var(--a2z-red) !important; border-color: var(--a2z-red) !important; color: #fff !important; }

/* Forms (HiStudy + Elementor + CF7/WPForms) */
.rbt-form-group input:focus,
.rbt-form-group textarea:focus,
.form-group input:focus,
.form-group textarea:focus { border-color: var(--a2z-red) !important; }
.form-group .focus-border,
.rbt-form-group .focus-border { background: var(--a2z-red) !important; }
.wpcf7-submit,
.wpforms-submit,
.elementor-field-type-submit .elementor-button { background: var(--a2z-red) !important; color: #fff !important; }
.wpcf7-submit:hover,
.wpforms-submit:hover,
.elementor-field-type-submit .elementor-button:hover { background: var(--a2z-red-dark) !important; }

/* Breadcrumb / page title band */
.rbt-breadcrumb-default .rbt-breadcrumb-default__title,
.rbt-page-banner-wrapper .rbt-banner-content-top .title { color: var(--a2z-black); }
.rbt-breadcrumb-default .page-list li a:hover { color: var(--a2z-red) !important; }

/* Course details sticky sidebar spacing for our enquiry card */
.rbt-course-sidebar .a2z-enquire,
.course-sidebar .a2z-enquire,
.tutor-single-course-sidebar .a2z-enquire { margin-top: 0; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.rbt-btn, .a2z-btn, .rbt-card, .a2z-card { transition: none !important; transform: none !important; }
}
