/*
Theme Name: Custom Oxfordstudio Theme
Theme URI: https://oxfordstudio.com/
Author: Cacttus Software Development
Author URI: https://cacttus.com/
Description: Modern, translation-ready custom WordPress theme built with Tailwind CSS, Alpine.js, and native PHP 8.1 architecture.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: custom-client-theme
*/

/* Custom Rich Text Styling (Applies to the_content and Meta Boxes) */
/* ==========================================================================
   Brand Color Palette Definitions
   ========================================================================== */
:root {
    --brand-primary: #002171;       /* Oxford Deep Blue */
    --brand-primary-hover: #001752;
    --brand-accent: #00A3FF;        /* Electric Cyan Accent */
    --brand-accent-hover: #0082CC;
    --brand-dark: #0A1128;          /* High contrast text */
    --brand-light: #F0F7FF;         /* Light section tint */
    --brand-white: #FFFFFF;
}

/* Base Body Styles */
body {
    color: var(--brand-dark);
    background-color: #FAFCFF;
}

/* Buttons & Active States */
.btn-primary {
    background-color: var(--brand-primary) !important;
    color: var(--brand-white) !important;
    transition: background-color 0.2s ease;
}
.btn-primary:hover {
    background-color: var(--brand-primary-hover) !important;
}

.btn-accent {
    background-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
    transition: background-color 0.2s ease;
}
.btn-accent:hover {
    background-color: var(--brand-accent-hover) !important;
}

/* ==========================================================================
   Header & Navigation Styling
   ========================================================================== */
header {
    border-bottom: 3px solid var(--brand-accent) !important;
}

/* Container List */
header nav ul,
header nav .menu {
    display: flex !important;
    align-items: center !important;
    gap: 1.75rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Individual List Items */
header nav ul li,
header nav .menu li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

/* 1. Default State for ALL Links (When NOT hovered or active) */
header nav ul li a,
header nav .menu li a {
    color: var(--brand-primary, #002171) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: color 0.2s ease-in-out !important;
    display: inline-block !important;
}

/* 2. Hover State (ONLY the specific anchor tag being hovered) */
header nav ul li a:hover,
header nav .menu li a:hover {
    color: var(--brand-accent, #00A3FF) !important;
}

/* 3. Active Page State */
header nav ul li.current-menu-item > a,
header nav ul li.current_page_item > a,
header nav .menu li.current-menu-item > a,
header nav .menu li.current_page_item > a {
    color: var(--brand-accent, #00A3FF) !important;
}

/* Ensure Logo Constraints */
.custom-logo-link img {
    max-height: 55px;
    width: auto;
    object-fit: contain;
}

/* Custom Rich Text & Content Styling */
.custom-rich-text h1, .prose h1,
.custom-rich-text h2, .prose h2,
.custom-rich-text h3, .prose h3,
.custom-rich-text h4, .prose h4 { 
    color: var(--brand-primary) !important;
    font-weight: 700 !important;
}

.custom-rich-text h1, .prose h1 { font-size: 2.25rem !important; margin-bottom: 1rem !important; margin-top: 1.5rem !important; }
.custom-rich-text h2, .prose h2 { font-size: 1.875rem !important; margin-bottom: 0.875rem !important; margin-top: 1.25rem !important; }
.custom-rich-text h3, .prose h3 { font-size: 1.5rem !important; margin-bottom: 0.75rem !important; margin-top: 1rem !important; }

.custom-rich-text p, .prose p {
    margin-bottom: 1.25rem !important;
    line-height: 1.7 !important;
    color: #2D3748 !important;
}

.custom-rich-text strong, .custom-rich-text b,
.prose strong, .prose b {
    color: var(--brand-primary) !important;
    font-weight: 700 !important;
}

.custom-rich-text ul, .prose ul {
    list-style-type: disc !important;
    margin-left: 1.5rem !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
}

.custom-rich-text ol, .prose ol {
    list-style-type: decimal !important;
    margin-left: 1.5rem !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
}

.custom-rich-text li, .prose li {
    margin-bottom: 0.25rem !important;
}

.custom-rich-text li::marker {
    color: var(--brand-accent) !important;
}

/* Swiper Pagination Controls */
.swiper-pagination-bullet-active {
    background: var(--brand-accent) !important;
}
.swiper-button-next, .swiper-button-prev {
    color: var(--brand-accent) !important;
}

/* Mobile Drawer */
#mobile-menu .menu li a:hover,
#mobile-menu .menu li.current-menu-item > a {
    background-color: var(--brand-light);
    color: var(--brand-primary) !important;
}

[x-cloak] { display: none !important; }

/* Ensure Swiper fixed height & cover behaviour */
.home-swiper {
    width: 100% !important;
    height: 70vh !important;
    min-height: 600px !important;
}

.home-swiper .swiper-wrapper,
.home-swiper .swiper-slide {
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Force pagination dots to overlay on top of the image */
.home-swiper .swiper-pagination {
    position: absolute !important;
    bottom: 30px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Bullet styling */
.home-swiper .swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.7 !important;
    width: 12px !important;
    height: 12px !important;
    margin: 0 6px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.home-swiper .swiper-pagination-bullet-active {
    background: var(--brand-accent, #00A3FF) !important;
    opacity: 1 !important;
    transform: scale(1.2);
}

/* Force reset inline absolute positioning from GTranslate */
div[id^="gtranslate_wrapper"],
div[class^="gt_container"],
.gt_switcher_wrapper {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin: 0 !important;
}

/* Align the parent list item inside header menu */
li.menu-item-gtranslate {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Ensure child float wrapper resets positioning */
#gt_float_wrapper,
.gt_float_switcher {
    position: relative !important;
    top: auto !important;
    box-shadow: none !important;
}