/*
Theme Name: APISF Theme
Version: 3.0.0
Author: Mohamed Ayman
Text Domain: apisf-theme
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@400;500;600&display=swap');

:root {
  --azul: #1A5276;
  --azul2: #2980B9;
  --dorado: #C8960C;
  --dark: #0A2B40;
  --crema: #FDF9F0;
  --linea: #E5DDD0;
  --gris: #6B7280;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'DM Sans',sans-serif; color:#1C1C1C; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; }

/* ── HEADER ── */
.apisf-header {
  position:sticky; top:0; z-index:9999;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linea);
  height:68px; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  box-shadow:0 2px 16px rgba(0,0,0,0.06);
}
.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo-icon { width:40px; height:40px; background:var(--azul); border-radius:8px; display:flex; align-items:center; justify-content:center; }
.nav-logo-icon span { color:#fff; font-family:'Playfair Display',serif; font-weight:900; font-size:14px; }
.nav-logo-text { font-family:'Playfair Display',serif; font-weight:700; font-size:17px; color:var(--azul); }
.main-nav .nav-links { display:flex; gap:28px; list-style:none; }
.main-nav .nav-links a { font-size:13px; font-weight:500; color:#1C1C1C; letter-spacing:.02em; transition:color .2s; }
.main-nav .nav-links a:hover { color:var(--azul2); }
.nav-langs { display:flex; gap:6px; }
.nav-langs ul { display:flex; gap:6px; list-style:none; margin:0; padding:0; }
.nav-langs ul li a,
.nav-langs ul li span { padding:4px 10px; border:1px solid var(--linea); border-radius:20px; font-size:12px; font-weight:600; color:#1C1C1C; display:block; transition:all .2s; }
.nav-langs ul li a:hover,
.nav-langs ul li.current-lang a { background:var(--azul); color:#fff; border-color:var(--azul); }

/* ── FOOTER ── */
.apisf-footer { background:var(--dark); padding:60px 5% 28px; }
.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; margin-bottom:48px; }
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.footer-logo-icon { width:44px; height:44px; background:var(--azul2); border-radius:10px; display:flex; align-items:center; justify-content:center; }
.footer-logo-icon span { color:#fff; font-family:'Playfair Display',serif; font-weight:900; font-size:16px; }
.footer-logo-name { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:#fff; }
.footer-desc { font-size:13px; color:rgba(255,255,255,.5); line-height:1.7; max-width:280px; margin-bottom:20px; }
.footer-social { display:flex; gap:10px; }
.social-btn { width:38px; height:38px; background:rgba(255,255,255,.08); border-radius:8px; display:flex; align-items:center; justify-content:center; transition:background .2s; color:rgba(255,255,255,.7); }
.social-btn:hover { background:var(--azul2); }
.social-btn svg { width:16px; height:16px; }
.footer-col h4 { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dorado); margin-bottom:18px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,.5); transition:color .2s; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom span { font-size:12px; color:rgba(255,255,255,.3); }
.footer-lang-switcher ul { display:flex; gap:8px; list-style:none; }
.footer-lang-switcher ul li a { font-size:11px; color:rgba(255,255,255,.4); padding:3px 10px; border:1px solid rgba(255,255,255,.1); border-radius:20px; transition:all .2s; }
.footer-lang-switcher ul li a:hover,
.footer-lang-switcher ul li.current-lang a { color:#fff; border-color:rgba(255,255,255,.3); }

@media(max-width:900px){
  .footer-inner { grid-template-columns:1fr; gap:40px; }
  .main-nav { display:none; }
}
