/* Shared Stylesheet for AgoraOSINT (style.css)
   ------------------------------------------------------------
   Combines original site styles + accessibility & cookie banner
   Applies to: index.html and privacy.html
   WCAG AA & SEO considerations
*/

/* Reset & Base ------------------------------------------------------------ */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #1a1a1a;
    /* Original gradient background retained */
    background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
    min-height: 100vh;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

img { max-width:100%; height:auto; }

a { color: #4A90E2; text-decoration: underline; }
a:hover { text-decoration: none; }

/* Visually hidden (for accessibility) ------------------------------------- */
.visually-hidden {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; white-space: nowrap !important;
}

/* Layout Containers ------------------------------------------------------------ */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
header{ padding:30px 0; text-align:center; background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,0.1); }
.logo{ font-size:2.5em; font-weight:700; color:#fff; letter-spacing:1px; }
.logo span{ color:#4A90E2; }

main{ padding-top:20px; }

/* Hero Section ------------------------------------------------------------ */
.hero{ padding:60px 0; text-align:center; }
.hero h1{ font-size:2.8em; color:#fff; margin-bottom:20px; line-height:1.2; font-weight:700; }
.subtitle{ font-size:1.2em; color:#e0e0e0; margin-bottom:50px; max-width:900px; margin-left:auto; margin-right:auto; }

/* Feature Cards (original) ------------------------------------------------- */
.features{ display:grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap:30px; margin:50px 0; justify-items:center; }
.feature-card{ background: rgba(255,255,255,0.95); padding:35px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; max-width:350px; width:100%; }
.feature-card:hover{ transform: translateY(-5px); box-shadow: 0 15px 40px rgba(74,144,226,0.4); }
.feature-icon{ font-size:2.5em; margin-bottom:15px; }
.feature-card h3{ font-size:1.4em; color:#203a43; margin-bottom:12px; }
.feature-card p{ color:#555; line-height:1.7; }

/* Partnership / CTA / Enterprise boxes ------------------------------------- */
.partnership-section{ background: rgba(255,255,255,0.98); padding:60px 40px; border-radius:12px; margin:50px 0; box-shadow:0 10px 30px rgba(0,0,0,0.3); }
.partnership-section h2{ font-size:2.2em; color:#203a43; margin-bottom:25px; text-align:center; }
.partnership-content{ max-width:900px; margin:0 auto; color:#444; font-size:1.1em; line-height:1.8; }

.cta-section{ text-align:center; padding:60px 0; }
.cta-box{ background: rgba(255,255,255,0.95); padding:50px; border-radius:12px; max-width:600px; margin:0 auto; box-shadow:0 15px 40px rgba(0,0,0,0.3); }
.cta-box h2{ font-size:2em; color:#203a43; margin-bottom:30px; }

.email-form{ display:flex; flex-direction:column; gap:15px; margin-top:30px; }
.email-input{ padding:16px 20px; font-size:1.1em; border:2px solid #ddd; border-radius:8px; transition:border-color 0.3s ease; }
.email-input:focus{ outline:none; border-color:#4A90E2; }
.btn-primary{ background:#4A90E2; color:white; padding:18px 40px; font-size:1.2em; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:all 0.3s ease; box-shadow:0 4px 15px rgba(74,144,226,0.4); }
.btn-primary:hover:not(:disabled){ background:#357ABD; transform:translateY(-2px); box-shadow:0 6px 20px rgba(74,144,226,0.5); }
.btn-primary:disabled{ background:#ccc; cursor:not-allowed; box-shadow:none; }

.enterprise-section{ background: rgba(74,144,226,0.1); padding:50px; border-radius:12px; margin:50px 0; border:1px solid rgba(74,144,226,0.3); }
.enterprise-section h2{ font-size:2em; color:#fff; margin-bottom:20px; text-align:center; }
.enterprise-content{ color:#e0e0e0; max-width:900px; margin:0 auto; font-size:1.1em; line-height:1.8; }
.contact-link{ color:#4A90E2; font-weight:600; text-decoration:none; border-bottom:2px solid #4A90E2; transition:color 0.3s ease; }
.contact-link:hover{ color:#357ABD; }

ul {padding: revert;}

/* Footer ------------------------------------------------------------------ */
footer{ text-align:center; padding:30px 0; color:#ccc; font-size:0.9em; border-top:1px solid rgba(255,255,255,0.1); margin-top:60px; }

.success-message{ display:none; background:#4CAF50; color:white; padding:15px; border-radius:8px; margin-top:15px; font-weight:600; }

/* Cookie Banner ------------------------------------------------------------ */
#cookie-banner{ position:fixed; bottom:0; left:0; width:100%; background:#ffffff; border-top:1px solid #ddd; padding:20px; box-shadow:0 -4px 20px rgba(0,0,0,0.1); display:flex; flex-direction:column; gap:15px; z-index:9999; }
#cookie-banner p{ color:#333; font-size:1em; }
.cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.cookie-btn{ padding:12px 20px; border-radius:6px; font-weight:600; cursor:pointer; border:none; font-size:1em; }
.cookie-accept{ background:#4A90E2; color:#fff; }
.cookie-reject{ background:#ccc; }
.cookie-settings-link{ font-size:0.9em; color:#4A90E2; text-decoration:underline; }

/* Responsive --------------------------------------------------------------- */
@media (max-width:768px){
    .hero h1{ font-size:2em; }
    .subtitle{ font-size:1em; }
    .features{ grid-template-columns:1fr; }
    .cta-box, .partnership-section, .enterprise-section{ padding:30px 20px; }
}