/*
Theme Name: GeneratePress
Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.6.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options

GeneratePress, Copyright 2014-2025 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL

GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2025 Automattic, Inc.

Actual CSS can be found in /assets/css/ folder.
*/
/* ===== AATA Global Header (Blue theme) ===== */
:root{
  --aata-blue-900:#0b3c91;
  --aata-blue-800:#114aad;
  --aata-blue-700:#1e63ff;
  --aata-blue-500:#4da3ff;
  --aata-blue-100:#e9f2ff;
  --aata-ink:#0b1220;
  --aata-surface:#ffffff;
  --aata-shadow:0 14px 34px rgba(11,60,145,.14), 0 2px 8px rgba(11,60,145,.08);
}

.topbar{
  position: sticky; top: 0; z-index: 1000;
  background: linear-gradient(135deg,var(--aata-blue-900),var(--aata-blue-700));
  color: #fff; border-bottom: 1px solid #1e63ff33; box-shadow: var(--aata-shadow);
}
.topbar .row{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.container{ max-width:1200px; margin:0 auto; padding:0 22px; }

/* Logo */
.logo{ display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; margin-left:auto; }
.logo img{ border-radius:10px; }
.logo-text{ font-weight:900; white-space:nowrap; }

/* Desktop nav */
.desktop-only{ display:none; }
@media (min-width:900px){
  .desktop-only{ display:flex; align-items:center; gap:18px; }
  .logo{ margin-left:0; }
}

.nav .menu{ display:flex; gap:18px; list-style:none; margin:0; padding:0; }
.nav .menu > li > a{
  color:#f0f6ff; text-decoration:none; padding:10px 8px; border-radius:10px; font-weight:800;
}
.nav .menu > li > a:hover{ background:rgba(255,255,255,.12); }
.nav .menu > li.current-menu-item > a,
.nav .menu > li.current_page_parent > a{ background:rgba(255,255,255,.18); }

/* Lang + CTA */
.header-ctas{ display:flex; align-items:center; gap:18px; }
.lang{ display:flex; gap:8px; }
.lang button{
  border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff;
  border-radius:12px; padding:6px 10px; font-weight:800; cursor:pointer;
}
.lang button.active{ background:#fff; color:var(--aata-blue-900); }
.btn.quick{
  background:#fff; color:var(--aata-blue-900); border-radius:14px; padding:10px 14px;
  font-weight:800; text-decoration:none;
}

/* Hamburger (mobile left) */
.hamburger{
  display:inline-flex; flex-direction:column; gap:5px; background:transparent; border:0;
  padding:8px; margin-right:8px;
}
.hamburger span{ width:22px; height:2px; background:#fff; display:block; border-radius:2px; }

/* Drawer */
.drawer{
  position:fixed; inset:0 30% 0 0; transform:translateX(-100%);
  background:#114aad; color:#fff; z-index:2000; transition:transform .25s;
  padding:18px; box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.drawer.open{ transform:translateX(0); }
.drawer-header{ display:flex; align-items:center; justify-content:space-between; font-weight:900; margin-bottom:10px; }
.drawer-close{ background:transparent; border:0; color:#fff; font-size:20px; }
.drawer-menu{ list-style:none; margin:10px 0; padding:0; }
.drawer-menu li a{
  display:block; padding:10px 8px; color:#eaffff; text-decoration:none; border-radius:10px;
}
.drawer-menu li a:hover{ background:rgba(255,255,255,.12); }
.drawer-lang{ display:flex; gap:8px; margin:12px 0; }
.drawer-lang button{
  border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff;
  border-radius:12px; padding:6px 10px; font-weight:800;
}

/* Responsive behavior */
@media (min-width:900px){
  .hamburger{ display:none; }
  .drawer{ display:none; }
}

/* Reduce top gap below sticky header (if theme adds extra space) */
.site-content{ scroll-margin-top: 80px; }

/* Mobile layout: 3 areas = burger | logo | lang */
@media (max-width: 899px){
  .topbar .row{
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  /* Center the logo block regardless of left/right items width */
  .logo{
    margin: 0;                 /* override earlier auto margin */
    justify-self: center;      /* centers within the middle grid column */
  }

  /* Show mobile language on right, hide desktop CTAs */
  .mobile-only{ display:flex; gap:8px; }
  .desktop-only{ display:none !important; }

  /* Hide the CTA button on mobile header */
  .btn.quick{ display:none; }
}

/* Desktop keeps previous behavior */
@media (min-width: 900px){
  .mobile-only{ display:none !important; }
}


/* Hide logo text on mobile, keep icon */
@media (max-width: 899px){
  .logo-text{
    display: none !important;
  }
}

/* Increase mobile logo size */
@media (max-width: 899px) {
  .topbar .logo img {
    width: 50px !important;
    height: 50px !important;
  }

  /* Hide logo text on mobile */
  .topbar .logo-text {
    display: none !important;
  }
}

/* Prevent header from being wider than page */
.topbar {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Ensure inner container matches site width */
.topbar .container {
  margin: 0 auto;
  padding: 0 15px; /* matches GP default */
  max-width: var(--content-width, 1200px);
}
/* Force the light palette even if user prefers dark */
@media (prefers-color-scheme:dark){
  :root{
    --surface:#ffffff !important;
    --ink:#0b1220 !important;
    --muted:#44505e !important;
    --brand-100:#e9f2ff !important;
  }
}
/* 1) Stop accidental horizontal scrolling */
html, body { overflow-x: clip; } /* use clip for iOS 17+; fallback is fine */

/* 2) Make sure all media never exceed the container */
img, video, iframe { max-width: 100%; height: auto; }

/* 3) Off-canvas drawer: give it a fixed width instead of "inset: 0 30% 0 0" */
.drawer{
  position: fixed;
  top: 0; left: 0;
  width: 82vw;            /* drawer width */
  max-width: 360px;       /* cap width on large phones */
  height: 100dvh;
  transform: translateX(-100%);
  will-change: transform;
  contain: paint;         /* avoid layout spill */
  overflow-y: auto;
}
.drawer.open{ transform: translateX(0); }

/* 4) Tabs/long text shouldn't force overflow */
.tabs { flex-wrap: wrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tab-btn { white-space: nowrap; } /* keep pill buttons tidy */
.news-item p, .card p, .card li { overflow-wrap: anywhere; word-break: break-word; }

/* 5) Safety: containers never leak */
.container, .section, .hero { overflow-x: clip; }
/* Target file upload fields */
input[type="file"] {
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
}

/* Optional: make it look nicer and stop browser from stretching it */
input[type="file"]::-webkit-file-upload-button {
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* Optional: fully custom button style */
input[type="file"] {
  border: 1px solid #ccc;
  padding: 6px;
  border-radius: 4px;
  background: #fff;
}
