/* v1.4.3 — BIO Digital Business Cards */
.bio-container{display:block}
.bio-container.bio-full{min-height:100vh;display:flex;align-items:flex-start;padding-top:10px}
.bio-business-card{position:relative;width:min(640px,100%);margin:0 auto;border-radius:18px;overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.08);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#ffffff;color:#111827}
.bio-cover{height:180px;background-size:cover;background-repeat:no-repeat}
.bio-card-content{padding:22px 16px 22px;position:relative}
/* Profile image layouts */
.bio-profile-image-container{position:absolute;top:-56px;left:50%;transform:translateX(-50%);width:112px;height:112px;border-radius:50%;background:#fff;padding:6px;border:1px solid rgba(0,0,0,.08)}
.img-left .bio-profile-image-container{left:16px;transform:none;top:-40px}
.img-none .bio-profile-image-container{display:none}
.bio-profile-image{width:100%;height:100%;border-radius:50%;background-size:cover;background-repeat:no-repeat;border:3px solid #fff}
.bio-personal-info{text-align:center;margin-top:62px;margin-bottom:18px}
.img-left .bio-personal-info{text-align:left;margin-top:10px;padding-left:140px}
.bio-name{font-size:26px;font-weight:800;margin:0 0 6px;color:#111827;letter-spacing:-.01em}
.bio-profession{font-size:15px;margin:0 0 8px;color:#374151}
.bio-tagline{font-size:14px;margin:0;color:#6b7280}
.bio-contact-info{margin:10px 0 16px}
.bio-contact-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.bio-contact-label{font-weight:700;color:#374151}
.bio-contact-value{color:#111827}
/* Buttons list */
.bio-buttons{display:grid;grid-template-columns:repeat(var(--cols,1),1fr);gap:14px;margin:10px 0 18px}
.bio-btn{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:999px;background:transparent;border:2px solid #cbd5e1;color:#111827;text-decoration:none;transition:.15s transform,.15s box-shadow,.15s background-color,.15s color}
.bio-btn:hover,.bio-btn.touched{transform:translateY(-1px)}
.bio-btn-ico{width:auto;height:auto;display:flex;align-items:center;justify-content:center}
.bio-btn-ico i{font-size:22px;line-height:1}
.bio-btn-lab{font-weight:700;letter-spacing:.2px}
/* Gallery */
.bio-gallery{display:grid;gap:8px;margin:10px 0 16px}
.bio-gallery.cols-2{grid-template-columns:repeat(2,1fr)}
.bio-gallery.cols-3{grid-template-columns:repeat(3,1fr)}
.bio-gallery.cols-4{grid-template-columns:repeat(4,1fr)}
.bio-g-item{position:relative;width:100%;padding-top:100%;overflow:hidden;border-radius:12px;border:1px solid rgba(0,0,0,.06);cursor:pointer}
.bio-g-img{position:absolute;inset:0;background-size:cover;background-position:center}
/* Gallery title */
.bio-gallery-wrap{margin-top:10px}
.bio-gallery-title{margin:6px 0 10px;font-size:22px;font-weight:800;letter-spacing:-.01em}
/* Gallery categories layout */
.bio-g-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:8px 0 14px}
.bio-g-cat-btn{border:2px solid #cbd5e1;background:#fff;color:#111827;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.15s transform,.15s background-color}
.bio-g-cat-btn:hover,.bio-g-cat-btn.touched{transform:translateY(-1px)}
.bio-g-cat-btn.active{box-shadow:0 8px 20px rgba(0,0,0,.08)}
.bio-gallery-set{display:none}
.bio-gallery-set.active{display:block}
/* Shapes */
.bio-gallery.shape-square .bio-g-item{border-radius:0}
.bio-gallery.shape-circle .bio-g-item{border-radius:999px}
/* Lightbox with nav */
.bio-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:9990;}
.bio-lightbox.active{opacity:1;pointer-events:auto;}
.bio-lb-img{width:90vw;max-width:720px;height:70vh;background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .18s ease, opacity .18s ease;opacity:1;transform:scale(1);}
.bio-lb-img.switching{opacity:.01;transform:scale(.985);}

.bio-lb-close,.bio-lb-next,.bio-lb-prev{position:absolute;top:18px;color:#fff;background:rgba(0,0,0,.45);border-radius:10px;padding:8px 10px;line-height:1;cursor:pointer;user-select:none;
  z-index:10001; font-size:22px; min-width:38px; min-height:38px; border:1px solid rgba(255,255,255,.22); box-shadow:0 6px 18px rgba(0,0,0,.35); backdrop-filter: blur(6px);}
.bio-lb-close{right:18px}
.bio-lb-next{right:18px;top:auto;bottom:18px}
.bio-lb-prev{left:18px;top:auto;bottom:18px}

/* Floating WA bubble */
.bio-floating-btn{position:fixed;bottom:18px;width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;z-index:9998;color:#fff;text-decoration:none;background:#22c55e}
.bio-whatsapp-btn{right:18px}
.bio-floating-btn i{font-size:22px;line-height:1}
@media (min-width:992px){.bio-floating-btn{display:none}}
/* Floating bars */
.bio-contact-fixed{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999}
.bio-contact-fixed.layout-two{display:flex;gap:12px}
.bio-float-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:16px;border:0;border-radius:16px;background:#16a34a;color:#fff;font-weight:800;font-size:16px;text-decoration:none;transition:.15s background-color,.15s color}
.bio-float-btn i{margin-right:8px}
.bio-contact-fixed .bio-float-btn:hover,.bio-contact-fixed .bio-float-btn.touched{filter:brightness(1.02)}
/* Elementor spacing tight */
.elementor-widget-container .bio-container{margin:0}
/* Lock body scroll when lightbox open */
body.bio-noscroll{ position:fixed; width:100%; overflow:hidden; }
