/* Additions used by the admin panel's header/footer options */
.logo-img{height:52px;width:auto;max-width:180px;object-fit:contain;display:block;flex-shrink:0;}
.foot-brand .logo-img{height:44px;background:#fff;border-radius:8px;padding:4px;}
.foot-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.foot-social a{color:#fff;text-decoration:none;font-size:12.5px;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:6px 13px;}
.foot-social a:hover{background:rgba(255,255,255,.12);}

/* Header always sticks to the very top while scrolling */
header.site{position:-webkit-sticky;position:sticky;top:0 !important;z-index:100;}

/* ============ Notes (used on destination pages) ============ */
.docs-note{
  display:flex;gap:14px;align-items:flex-start;max-width:900px;margin:22px auto 0;
  background:#fff;border:1px solid var(--border,#e2e6f0);border-left:4px solid var(--blue,#1a3fa0);
  border-radius:12px;padding:16px 18px;font-size:14.5px;line-height:1.65;color:var(--text,#1a1f36);
}
.docs-note-icon{font-size:22px;line-height:1.2;flex-shrink:0;}

/* ============ Document checklist (Cyprus) ============ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.doc-progress{max-width:900px;margin:0 auto 22px;background:#fff;border:1px solid var(--border,#e2e6f0);border-radius:14px;padding:16px 18px;}
.doc-progress-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.doc-progress-top b{font-size:15.5px;color:var(--navy,#0b1f52);}
.doc-progress-hint{font-size:12.5px;color:var(--muted,#5b6480);}
.doc-progress-bar{height:8px;background:#eef1f8;border-radius:50px;overflow:hidden;}
.doc-progress-bar span{display:block;height:100%;width:0;border-radius:50px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .3s ease;}

.doc-checklist{max-width:900px;margin:0 auto;display:grid;gap:22px;}
.doc-group-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--navy,#0b1f52);margin-bottom:10px;}
.doc-group-title span{width:34px;height:34px;border-radius:9px;background:var(--blue-pale,#eef3ff);display:inline-flex;align-items:center;justify-content:center;font-size:17px;}
.doc-items{list-style:none;display:grid;gap:10px;}
.doc-item{
  position:relative;display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;
  background:#fff;border:1.5px solid var(--border,#e2e6f0);border-radius:12px;padding:16px 18px;
  transition:border-color .2s,background .2s;
}
.doc-tick{position:absolute;opacity:0;width:30px;height:30px;left:18px;top:16px;margin:0;cursor:pointer;}
.doc-box{
  grid-column:1;width:30px;height:30px;border-radius:8px;border:2px solid #c3cbe0;background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;
}
.doc-box::after{content:"✓";font-weight:900;font-size:17px;color:#fff;transform:scale(0);transition:transform .15s;}
.doc-tick:focus-visible + .doc-box{outline:3px solid var(--yellow,#ffc107);outline-offset:2px;}
.doc-tick:checked + .doc-box{background:#16a34a;border-color:#16a34a;}
.doc-tick:checked + .doc-box::after{transform:scale(1);}
.doc-item:has(.doc-tick:checked){border-color:#86efac;background:#f6fef9;}
.doc-item:has(.doc-tick:checked) h4{color:#166534;}
.doc-text h4{font-size:15.5px;font-weight:800;line-height:1.35;margin-bottom:3px;}
.doc-text p{font-size:13.5px;color:var(--muted,#5b6480);line-height:1.55;}
.doc-where{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:#b45309;background:#fff7e6;border-radius:6px;padding:3px 9px;}
.doc-attest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;}
.doc-attest b{color:var(--navy,#0b1f52);margin-right:2px;}
.doc-attest span{background:var(--blue-pale,#eef3ff);color:var(--blue,#1a3fa0);font-weight:600;border-radius:50px;padding:3px 10px;}
.docs-actions{max-width:900px;margin:22px auto 0;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
@media (max-width:560px){ .doc-item{padding:14px;gap:12px;} .doc-tick{left:14px;top:14px;} }

@media print{
  header.site,footer.site,.mobile-menu,.float-wa,.pec-banner,.pec-ticker,.pec-popup-overlay,.docs-actions,.doc-progress-hint{display:none !important;}
  body{background:#fff;}
  body.print-docs main > section:not(#requiredDocs){display:none !important;}
  .doc-item{break-inside:avoid;border-color:#999;}
  .doc-box{border-color:#333;}
}

/* ============ Cyprus page: hero, requirements, programmes ============ */
.cy-intake-pill{
  display:inline-block;margin:6px 0 14px;padding:7px 16px;border-radius:50px;
  background:var(--yellow,#ffc107);color:#1a1f36;font-size:13px;font-weight:800;letter-spacing:.3px;
}
.cy-hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0 34px;position:relative;z-index:2;}

.cy-req-panel{
  position:relative;max-width:1000px;margin:0 auto;border-radius:22px;padding:34px 30px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,#1a3fa0 0%,#0b1f52 55%,#071433 100%);
  border:2px solid rgba(90,140,255,.75);
  box-shadow:0 0 0 1px rgba(90,140,255,.25),0 0 28px rgba(60,120,255,.45),0 20px 50px rgba(11,31,82,.35);
}
.cy-req-head{text-align:center;margin-bottom:24px;}
.cy-req-head .sec-eyebrow{color:var(--yellow,#ffc107);}
.cy-req-head h2{color:#fff;font-size:clamp(22px,3.2vw,30px);font-weight:900;letter-spacing:-.5px;margin:6px 0 6px;}
.cy-req-head p{color:rgba(255,255,255,.78);font-size:15px;}
.cy-req-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.cy-req{
  display:flex;align-items:center;gap:14px;padding:18px 16px;border-radius:14px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
}
.cy-req-ico{
  width:48px;height:48px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:22px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.3);
}
.cy-req b{display:block;font-size:15.5px;font-weight:900;letter-spacing:.3px;text-transform:uppercase;line-height:1.25;}
.cy-req b span{color:var(--yellow,#ffc107);}
.cy-req small{display:block;font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.85);margin-top:3px;}
.cy-req-foot{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px;}
.cy-intake-badge{
  background:var(--yellow,#ffc107);color:#1a1f36;font-weight:900;font-size:16px;letter-spacing:.5px;
  padding:11px 20px;border-radius:10px;box-shadow:0 6px 20px rgba(255,193,7,.3);
}
@media (max-width:900px){ .cy-req-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){
  .cy-req-panel{padding:26px 16px;border-radius:18px;}
  .cy-req-grid{grid-template-columns:1fr;}
}

.cy-prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;max-width:1080px;margin:0 auto;}
.cy-prog{
  display:flex;gap:14px;align-items:flex-start;background:var(--bg,#f5f7fc);
  border:1px solid var(--border,#e2e6f0);border-left:4px solid var(--blue,#1a3fa0);
  border-radius:12px;padding:16px 18px;transition:transform .2s,box-shadow .2s;
}
.cy-prog:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,31,82,.1);}
.cy-prog-ico{width:42px;height:42px;flex-shrink:0;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 8px rgba(11,31,82,.08);}
.cy-prog h3{font-size:15px;font-weight:800;line-height:1.35;color:var(--navy,#0b1f52);}
.cy-prog p{font-size:13px;color:var(--muted,#5b6480);margin-top:3px;line-height:1.5;}
#cyChecker,#cyRequirements{scroll-margin-top:90px;}

/* ============ Contact page: Google Map ============ */
.map-section{margin-top:56px;}
.map-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
.map-tab{
  display:flex;flex-direction:column;align-items:center;gap:2px;min-width:150px;
  padding:11px 18px;border-radius:12px;border:1.5px solid var(--border,#e2e6f0);background:#fff;
  font:700 14.5px/1.3 inherit;font-family:inherit;color:var(--navy,#0b1f52);cursor:pointer;transition:all .18s;
}
.map-tab small{font-size:11.5px;font-weight:600;color:var(--muted,#5b6480);text-transform:uppercase;letter-spacing:.5px;}
.map-tab:hover{border-color:var(--blue,#1a3fa0);}
.map-tab.active{background:var(--blue,#1a3fa0);border-color:var(--blue,#1a3fa0);color:#fff;box-shadow:0 8px 20px rgba(26,63,160,.25);}
.map-tab.active small{color:rgba(255,255,255,.8);}
.map-tab:focus-visible{outline:3px solid var(--yellow,#ffc107);outline-offset:2px;}
.map-panel{background:#fff;border:1px solid var(--border,#e2e6f0);border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(11,31,82,.08);}
.map-frame{position:relative;height:420px;background:#e8ecf5;}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.map-info{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;}
.map-info b{display:block;font-size:14.5px;color:var(--navy,#0b1f52);}
.map-info span{display:block;font-size:13px;color:var(--muted,#5b6480);margin-top:3px;}
@media (max-width:600px){
  .map-tab{min-width:0;flex:1;padding:10px 8px;font-size:13px;}
  .map-frame{height:300px;}
  .map-info .btn{width:100%;justify-content:center;}
}
