/*
Theme Name: TBSR Hello Child Theme
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.6.1772147492
Updated: 2026-02-26 23:11:32

*/

/*
 * TBSR Brand Guidelines - Custom CSS
 * Based on TBSR Brand Book 2026
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ============================================
   FONT IMPORTS
   ============================================ */
   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@700&display=swap');

   /* ============================================
      CSS CUSTOM PROPERTIES (Design Tokens)
      ============================================ */
   :root {
     /* Primary Colors */
     --tbsr-primary-blue: #2F589B;
     --tbsr-primary-teal: #7DC9C0;
     --tbsr-primary-navy: #122942;
     --tbsr-white: #ffffff;
     
     /* Secondary Colors */
     --tbsr-secondary-blue: #3869B2;
     
     /* Neutral */
     --tbsr-black: #000000;
     
     /* Semantic Color Mappings */
     --tbsr-brand-primary: var(--tbsr-primary-blue);
     --tbsr-brand-accent: var(--tbsr-primary-teal);
     --tbsr-brand-dark: var(--tbsr-primary-navy);
     
     /* Custom Gradient (primary blue to teal) */
     --tbsr-gradient: linear-gradient(135deg, #2F589B 0%, #7DC9C0 100%);
     --tbsr-gradient-navy: linear-gradient(135deg, #122942 0%, #2F589B 100%);
     
     /* Typography */
     --tbsr-font-heading: 'Playfair Display', Georgia, serif;
     --tbsr-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     
     /* Type Hierarchy */
     --tbsr-heading-weight: 700;
     --tbsr-subheading-weight: 700;
     --tbsr-body-weight: 500;
     
     /* Logo Minimum Sizes (Digital) */
     --tbsr-logo-full-min: 150px;
     --tbsr-logo-type-min: 150px;
     --tbsr-logo-mark-min: 50px;
   }
   
   /* ============================================
      BASE TYPOGRAPHY
      ============================================ */
   body {
     font-family: var(--tbsr-font-body);
     font-weight: var(--tbsr-body-weight);
     color: var(--tbsr-primary-navy);
     background-color: var(--tbsr-white);
     line-height: 1.5;
   }
   
   /* Headers - Playfair Display Bold */
   h1, h2, h3, h4, h5, h6,
   .tbsr-heading {
     font-family: var(--tbsr-font-heading);
     font-weight: var(--tbsr-heading-weight);
     color: var(--tbsr-primary-navy);
   }
   
   h1, .tbsr-h1 { font-size: 2.5rem; line-height: 1.2; }
   h2, .tbsr-h2 { font-size: 2rem; line-height: 1.25; }
   h3, .tbsr-h3 { font-size: 1.5rem; line-height: 1.3; }
   h4, .tbsr-h4 { font-size: 1.25rem; line-height: 1.35; }
   
   /* Sub-Headers - Inter Bold */
   .subheading,
   .tbsr-subheading,
   h2.tbsr-sub,
   h3.tbsr-sub {
     font-family: var(--tbsr-font-body);
     font-weight: var(--tbsr-subheading-weight);
     color: var(--tbsr-primary-navy);
   }
   
/* Body Text - Inter Medium */
p, 
.elementor-widget-container p,
.elementor-widget-text-editor p,
.elementor-widget-text-editor .elementor-widget-container p,
.tbsr-body,
.tbsr-body-text {
  font-family: var(--tbsr-font-body);
  font-weight: var(--tbsr-body-weight);
  font-size: 18px !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  max-width: 100%;
}

@media (max-width: 767px) {
  p,
  .elementor-widget-container p,
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor .elementor-widget-container p {
    font-size: 18px !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    max-width: 100%;
  }
}

li {
	font-size: 18px;
}
   
   /* ============================================
      LINKS & INTERACTIVE ELEMENTS
      ============================================ */
   a {
     color: var(--tbsr-primary-blue);
     text-decoration: none;
     transition: color 0.2s ease;
     text-decoration: underline !important;
   }
   
   a:hover {
     color: var(--tbsr-secondary-blue);
     text-decoration: underline;
   }
   
   nav a,
   .nav a,
   .menu a,
   .main-navigation a,
   .wp-block-navigation a {
     text-decoration: none !important;
   }
   
   /* Remove underline from buttons (Elementor + common button patterns) */
   a.elementor-button,
   .elementor-button,
   .elementor-widget-button a,
   a.button,
   .wp-block-button a {
     text-decoration: none !important;
   }
   
   /* ============================================
      BUTTONS
      ============================================ */
   .tbsr-btn-primary {
     background-color: var(--tbsr-primary-blue);
     color: var(--tbsr-white);
     font-family: var(--tbsr-font-body);
     font-weight: 600;
     padding: 0.75rem 1.5rem;
     border: none;
     border-radius: 4px;
     cursor: pointer;
     transition: background-color 0.2s ease;
     text-decoration: none !important;
   }
   
   .tbsr-btn-primary:hover {
     background-color: var(--tbsr-secondary-blue);
   }
   
   .tbsr-btn-accent {
     background-color: var(--tbsr-primary-teal);
     color: var(--tbsr-primary-navy);
   }
   
   .tbsr-btn-accent:hover {
     background-color: #6bb8af;
   }
   
   .tbsr-btn-outline {
     background: transparent;
     color: var(--tbsr-primary-blue);
     border: 2px solid var(--tbsr-primary-blue);
   }
   
   .tbsr-btn-outline:hover {
     background-color: var(--tbsr-primary-blue);
     color: var(--tbsr-white);
   }
   
   /* ============================================
      BACKGROUNDS & SURFACES
      ============================================ */
   .tbsr-bg-primary { background-color: var(--tbsr-primary-blue); }
   .tbsr-bg-teal { background-color: var(--tbsr-primary-teal); }
   .tbsr-bg-navy { background-color: var(--tbsr-primary-navy); }
   .tbsr-bg-white { background-color: var(--tbsr-white); }
   
   .tbsr-bg-gradient { background: var(--tbsr-gradient); }
   .tbsr-bg-gradient-navy { background: var(--tbsr-gradient-navy); }
   
   /* Text on dark backgrounds */
   .tbsr-bg-navy,
   .tbsr-bg-primary,
   .tbsr-bg-gradient-navy {
     color: var(--tbsr-white);
   }
   
   .tbsr-bg-navy a,
   .tbsr-bg-primary a {
     color: var(--tbsr-primary-teal);
   }
   
   /* ============================================
      LOGO CONSTRAINTS
      Minimum sizes per brand guidelines
      ============================================ */
   .tbsr-logo-full,
   .tbsr-logo-type {
     min-width: var(--tbsr-logo-full-min);
     min-height: auto;
     /* Never stretch - maintain aspect ratio */
     object-fit: contain;
   }
   
   .tbsr-logo-mark {
     min-width: var(--tbsr-logo-mark-min);
     min-height: var(--tbsr-logo-mark-min);
     object-fit: contain;
   }
   
   /* Logo misuse prevention - maintain proportions */
   .tbsr-logo-full,
   .tbsr-logo-type,
   .tbsr-logo-mark {
     max-width: 100%;
     height: auto;
   }
   
   /* ============================================
      UTILITY CLASSES
      ============================================ */
   .tbsr-text-primary { color: var(--tbsr-primary-blue); }
   .tbsr-text-teal { color: var(--tbsr-primary-teal); }
   .tbsr-text-navy { color: var(--tbsr-primary-navy); }
   .tbsr-text-white { color: var(--tbsr-white); }
   
   .tbsr-border-primary { border-color: var(--tbsr-primary-blue); }
   .tbsr-border-teal { border-color: var(--tbsr-primary-teal); }
   
   /* ============================================
      NAVIGATION (Example from Brand Book)
      ============================================ */
   .tbsr-nav {
     font-family: var(--tbsr-font-body);
     font-weight: 500;
   }
   
   .tbsr-nav a {
     color: var(--tbsr-primary-navy);
   }
   
   .tbsr-nav a:hover {
     color: var(--tbsr-primary-blue);
   }
   
   /* ============================================
      BRAND PATTERN PLACEHOLDER
      Apply brand pattern as background-image when asset available
      ============================================ */
   .tbsr-pattern-bg {
     /* Replace url() with actual brand pattern asset path */
     /* background-image: url('path/to/tbsr-pattern.png'); */
     /* background-repeat: repeat; */
     /* background-size: auto; */
   }
   
/* Mobile Fixes */ 
   @media (max-width: 767px) {
     p {
       font-size: 18px !important;
     }
   }
