/**
 * Theme Name: Astra Child
 * Author: Brainstorm Force
 * Author URI: http://wpastra.com/about/
 * Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites.
 * Version: 1.0.0
 * Template: astra
 */

 @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

 /* Custom Full Width Template Styles */
 .ast-custom-full-width-template {
     width: 100%;
 }
 
 /* Force container to be full width when using this template */
 .page-template-custom-full-width .site-content .ast-container {
     max-width: 100% !important;
     padding-left: 0 !important;
     padding-right: 0 !important;
 }
 
 .page-template-custom-full-width .site-content {
     padding-top: 0 !important;
 }
 
 /* Custom Hero Section */
 .ast-custom-hero {
     background-color: #003380; /* Deep navy base */
     background-image: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px);
     background-size: 40px 40px; /* Precise dot grid */
     color: #ffffff;
     padding: 100px 20px;
     text-align: center;
     position: relative;
     overflow: hidden;
 }
 
 /* Curved shape on the left */
 .ast-custom-hero::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 50%; /* Adjusted width for a better flow */
     height: 100%;
     background: #1e4d92; /* Slightly more vibrant blue for contrast */
     clip-path: ellipse(80% 100% at 0% 50%); /* Much smoother elliptical curve */
     opacity: 0.8;
     z-index: 0;
 }
 
 .ast-custom-hero .hero-content {
     position: relative;
     z-index: 1;
     max-width: 1200px;
     margin: 0 auto;
 }
 
 .ast-custom-hero h1.ast-hero-title {
     font-family: 'Bebas Neue', sans-serif !important;
     font-size: clamp(3.5rem, 10vw, 6.25rem) !important;
     font-weight: 400;
     text-transform: uppercase;
     margin-top: 0 !important;
     margin-bottom: 0;
     letter-spacing: 2px;
     color: #ffffff !important;
     display: inline-block;
     line-height: 1.1;
     
     /* Reveal Animation */
     animation: revealText 1s cubic-bezier(0.77, 0, 0.175, 1);
 }
 
 .entry-title, .ast-archive-title {
     font-family: 'Bebas Neue', sans-serif !important;
     font-size: clamp(3rem, 8vw, 5rem) !important;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     line-height: 1.1;
 }
 
 .ast-hero-breadcrumbs {
     font-size: 0.8rem;
     text-transform: uppercase;
     letter-spacing: 1.5px;
     opacity: 0;
     margin-top: 15px;
     color: rgba(255, 255, 255, 0.8);
     
     animation: revealText 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
     animation-delay: 0.3s;
 }
 
 .ast-hero-breadcrumbs a {
     color: #ffffff !important;
     text-decoration: none;
     border-bottom: 1px solid transparent;
     transition: all 0.3s ease;
 }
 
 .ast-hero-breadcrumbs a:hover {
     border-bottom: 1px solid #ffffff;
 }
 
 /* Premium Reveal Animation */
 @keyframes revealText {
     0% {
         opacity: 0;
         transform: translateY(100px) skewY(10deg);
         filter: blur(10px);
     }
     100% {
         opacity: 1;
         transform: translateY(0) skewY(0deg);
         filter: blur(0);
     }
 }
 
 /* Header Search */
 .ast-search-icon {
     display: inline-flex;
     align-items: center;
     cursor: pointer;
     margin-left: 20px;
     color: #033d8f; /* Navy */
     transition: all 0.3s ease;
     padding: 10px;
 }
 
 .ast-search-icon:hover {
     color: #e6302f; /* Red */
     transform: scale(1.1);
 }
 
 .ast-search-icon svg {
     width: 20px;
     height: 20px;
 }
 
 .ast-search-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 90px;
     background: #ffffff;
     z-index: 10001;
     display: flex;
     align-items: center;
     justify-content: center;
     transform: translateY(-100%);
     transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
     box-shadow: 0 10px 30px rgba(0,0,0,0.1);
 }
 
 .ast-search-overlay.active {
     transform: translateY(0);
 }
 
 .ast-search-overlay .search-form {
     width: 100%;
     max-width: 1200px;
     padding: 0 56px;
 }
 
 .ast-search-overlay .search-form-inner {
     display: flex;
     align-items: center;
     gap: 20px;
     border-bottom: 2px solid rgba(3, 61, 143, 0.1);
     padding-bottom: 10px;
 }
 
 .ast-search-overlay .search-icon-deco {
     width: 24px;
     height: 24px;
     color: #033d8f;
     opacity: 0.4;
 }
 
 .ast-search-overlay .search-field {
     flex-grow: 1;
     background: transparent !important;
     border: none !important;
     font-size: 24px !important;
     font-family: 'DM Sans', sans-serif !important;
     font-weight: 400 !important;
     color: #1a1a2e !important;
     padding: 0 !important;
     outline: none !important;
     box-shadow: none !important;
 }
 
 .ast-search-overlay .search-field::placeholder {
     color: #7a8ab0;
     opacity: 0.6;
 }
 
 .ast-search-overlay .ast-search-close {
     color: #e6302f;
     cursor: pointer;
     padding: 10px;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     justify-content: center;
 }
 
 .ast-search-overlay .ast-search-close:hover {
     transform: rotate(90deg) scale(1.1);
 }
 
 .ast-search-overlay .ast-search-close svg {
     width: 28px;
     height: 28px;
 }
 
 @media (max-width: 900px) {
     .ast-search-overlay {
         height: 80px;
     }
     .ast-search-overlay .search-form {
         padding: 0 24px;
     }
     .ast-search-overlay .search-field {
         font-size: 18px !important;
     }
 }
 
 /* Content Area */
 .ast-custom-full-width-template .site-main {
     padding: 0;
 }
 
 .ast-custom-full-width-template .entry-content {
     margin: 0;
 }
 
 /* Sticky Header */
 .site-header {
     position: sticky;
     top: 0;
     width: 100%;
     z-index: 9999;
     transition: all 0.3s ease-in-out;
 }
 
 .site-header.ast-header-scrolled {
     background: rgba(255, 255, 255, 0.85) !important;
     backdrop-filter: blur(10px);
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
 }
 
 .admin-bar .site-header { top: 32px; }
 
 /* Scroll to Top Button */
 .ast-scroll-top-btn {
     position: fixed;
     bottom: 100px;
     right: 30px;
     width: 48px;
     height: 48px;
     background-color: #033d8f; /* Navy */
     color: #ffffff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     z-index: 9999;
     box-shadow: 0 6px 20px rgba(0,0,0,0.15);
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     opacity: 0;
     visibility: hidden;
     transform: translateY(20px);
 }
 
 .ast-scroll-top-btn.show {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
 }
 
 .ast-scroll-top-btn:hover {
     background-color: #e6302f; /* Red */
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(230, 48, 47, 0.3);
 }
 
 .ast-scroll-top-btn svg {
     width: 22px;
     height: 22px;
     transition: transform 0.3s ease;
 }
 
 .ast-scroll-top-btn:hover svg {
     transform: translateY(-2px);
 }
 
 @media (max-width: 768px) {
     .ast-scroll-top-btn {
         bottom: 90px;
         right: 20px;
         width: 42px;
         height: 42px;
     }
 }
 
 /* ── Privacy Policy Page ── */
 .privacy-page-container {
     --navy: #033d8f;
     --navy-dark: #022b66;
     --navy-light: #e8eef8;
     --red: #e6302f;
     --charcoal: #1a1a2e;
     --mid: #3a4a6b;
     --muted: #7a8ab0;
     --white: #ffffff;
     --bg: #f5f7fc;
     --border: rgba(3, 61, 143, 0.1);
     
     font-family: 'DM Sans', sans-serif;
     background: var(--bg);
     color: var(--charcoal);
     line-height: 1.8;
 }
 
 .privacy-header {
     background: var(--navy);
     color: var(--white);
     padding: 100px 56px 80px;
     position: relative;
     overflow: hidden;
     text-align: center;
 }
 
 .privacy-header .hero-grid {
     position: absolute;
     inset: 0;
     display: grid;
     grid-template-columns: repeat(8,1fr);
     grid-template-rows: repeat(4,1fr);
     opacity: 0.1;
     pointer-events: none;
 }
 .privacy-header .hero-grid span { border: 0.5px solid #fff; }
 
 .privacy-header .header-inner {
     max-width: 900px;
     margin: 0 auto;
     position: relative;
     z-index: 1;
 }
 
 .privacy-header .header-badge {
     display: inline-block;
     background: var(--red);
     border-radius: 100px;
     padding: 4px 16px;
     font-size: 11px;
     font-weight: 600;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     margin-bottom: 24px;
 }
 
 .privacy-header h1 {
     font-family: 'Bebas Neue', sans-serif;
     font-size: clamp(48px, 8vw, 6.25rem);
     font-weight: 400;
     line-height: 1;
     letter-spacing: 0.05em;
     margin-bottom: 16px;
     color: #fff;
 }
 
 .privacy-header .header-meta {
     font-size: 13px;
     opacity: 0.7;
     font-weight: 400;
     letter-spacing: 0.02em;
 }
 
 .privacy-main {
     width: 100%;
     max-width: 1200px;
     margin: -40px auto 100px;
     padding: 0 56px;
     position: relative;
     z-index: 2;
 }
 
 .privacy-section {
     background: var(--white);
     border-radius: 4px;
     border-bottom: 3px solid var(--border);
     padding: 48px 56px;
     margin-bottom: 24px;
     position: relative;
     transition: border-color 0.3s ease;
 }
 .privacy-section:hover {
     border-bottom-color: var(--red);
 }
 
 .privacy-section .section-number {
     position: absolute;
     top: 48px; right: 56px;
     font-family: 'Bebas Neue', sans-serif;
     font-size: 56px;
     color: var(--navy-light);
     line-height: 1;
     user-select: none;
 }
 
 .privacy-section h2 {
     font-family: 'Bebas Neue', sans-serif;
     font-size: 28px;
     font-weight: 400;
     color: var(--navy);
     margin-bottom: 24px;
     letter-spacing: 0.04em;
     display: flex;
     align-items: center;
     gap: 12px;
 }
 
 .privacy-section h2 .icon { font-size: 24px; }
 .privacy-section p { color: var(--mid); margin-bottom: 16px; font-size: 15px; }
 .privacy-section p:last-child { margin-bottom: 0; }
 
 .privacy-section h3 {
     font-family: 'Bebas Neue', sans-serif;
     font-size: 18px;
     font-weight: 400;
     color: var(--charcoal);
     margin: 32px 0 16px;
     text-transform: uppercase;
     letter-spacing: 0.08em;
 }
 
 .privacy-section ul { list-style: none; padding: 0; margin-bottom: 20px; }
 .privacy-section ul li {
     padding: 10px 0 10px 24px;
     border-bottom: 1px solid var(--navy-light);
     font-size: 15px;
     color: var(--mid);
     position: relative;
 }
 .privacy-section ul li:last-child { border-bottom: none; }
 .privacy-section ul li::before {
     content: '→';
     position: absolute;
     left: 0;
     color: var(--red);
     font-weight: bold;
 }
 
 .privacy-section .highlight-box {
     background: var(--navy-light);
     border-left: 4px solid var(--navy);
     padding: 20px 24px;
     margin: 24px 0;
     font-size: 14px;
     color: var(--navy-dark);
     font-weight: 500;
 }
 
 .privacy-contact-card {
     background: var(--navy);
     color: var(--white);
     border-radius: 4px;
     padding: 48px 56px;
     margin-bottom: 24px;
 }
 
 .privacy-contact-card h2 {
     font-family: 'Bebas Neue', sans-serif;
     font-size: 32px;
     font-weight: 400;
     margin-bottom: 32px;
     letter-spacing: 0.05em;
     color: #fff;
 }
 
 .privacy-contact-card .contact-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 24px;
 }
 
 .privacy-contact-card .contact-item {
     background: rgba(255,255,255,0.06);
     border: 1px solid rgba(255,255,255,0.1);
     padding: 20px;
     border-radius: 2px;
 }
 
 .privacy-contact-card .contact-item .label {
     font-size: 11px;
     text-transform: uppercase;
     letter-spacing: 0.15em;
     color: var(--muted);
     margin-bottom: 8px;
 }
 
 .privacy-contact-card .contact-item .value {
     font-size: 14px;
     font-weight: 400;
     line-height: 1.6;
 }
 
 .privacy-contact-card .contact-item a {
     color: var(--white);
     text-decoration: none;
     transition: color 0.2s;
 }
 .privacy-contact-card .contact-item a:hover { color: var(--red); }
 
 @media (max-width: 768px) {
     .privacy-header { padding: 80px 24px 64px; }
     .privacy-main { padding: 0 24px; margin-top: -24px; }
     .privacy-section { padding: 32px 28px; }
     .privacy-section .section-number { display: none; }
     .privacy-contact-card .contact-grid { grid-template-columns: 1fr; }
     .privacy-contact-card { padding: 32px 28px; }
 }