/* ── VCard Base Styles v2 ─────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--vc-bg);color:var(--vc-t);min-height:100vh}
a{color:inherit;text-decoration:none}
.vc-no-scroll{overflow:hidden}
img{max-width:100%}

/* ── WRAPPER ── */
.vc-wrap{max-width:480px;margin:0 auto;background:var(--vc-s);min-height:100vh;box-shadow:0 0 60px rgba(0,0,0,.12)}

/* ── HERO BASE ── */
.vc-hero{position:relative;background:var(--vc-pd);z-index:1}
.vc-hero-banner{width:100%;height:190px;object-fit:cover;display:block}
.vc-hero-banner-placeholder{width:100%;height:190px}
.vc-hero-info{padding:62px 24px 16px;text-align:center}
.vc-hero-name{font-size:1.45rem;font-weight:800;color:var(--vc-t);line-height:1.2}
.vc-hero-designation{font-size:.88rem;color:var(--vc-p);font-weight:700;margin-top:4px}
.vc-hero-subtitle{font-size:.82rem;color:var(--vc-ts);margin-top:5px;line-height:1.5}

/* ── AVATAR ── */
.vc-hero-avatar-wrap{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);z-index:2;width:100px;height:100px;border-radius:14px;border:2.5px solid rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(0,0,0,.18);overflow:hidden}
.vc-hero-avatar{width:100%;height:100%;object-fit:cover;display:block}
.vc-hero-info--offset{padding-top:90px}

/* ── QUICK ACTION BUTTONS ── */
.vc-quick-actions{display:flex;justify-content:center;gap:10px;padding:0 20px 20px;flex-wrap:wrap}
.vc-quick-btn{display:inline-flex;flex-direction:row;align-items:center;gap:7px;background:var(--vc-bg2);border:none;border-radius:50px;padding:10px 20px;cursor:pointer;font-size:.8rem;color:var(--vc-p);font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap}
.vc-quick-btn i{font-size:1rem;flex-shrink:0}
.vc-quick-btn:hover{background:var(--vc-p);color:#fff}

/* ── SECTIONS ── */
.vc-section{padding:20px 24px;border-bottom:1px solid var(--vc-bg2)}
.vc-section:last-child{border-bottom:none}
.vc-title{font-size:.82rem;font-weight:800;color:var(--vc-p);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:flex;align-items:center;gap:8px}

/* ── DESCRIPTION ── */
.vc-bio{font-size:.9rem;line-height:1.75;color:var(--vc-ts)}

/* ── CONTACT ── */
.vc-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vc-contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 9px;background:var(--vc-bg2);border-radius:12px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.vc-contact-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.vc-contact-icon-wrap{width:34px;height:34px;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--vc-p);font-size:.9rem;flex-shrink:0;margin-bottom:1px}
.vc-contact-label{display:block;font-size:.6rem;font-weight:700;color:var(--vc-ts);text-transform:uppercase;letter-spacing:.07em}
.vc-contact-value{display:block;font-size:.72rem;color:var(--vc-t);font-weight:500;word-break:break-all;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ── HOURS ── */
.vc-hours-card{background:var(--vc-bg2);border-radius:16px;padding:16px}
.vc-hours-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.vc-hour-block{display:flex;align-items:flex-start;gap:10px}
.vc-hour-icon{width:40px;height:40px;border-radius:10px;background:var(--vc-p);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vc-hour-icon svg{width:20px;height:20px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.vc-hour-name{font-size:.78rem;font-weight:700;color:var(--vc-t);text-transform:capitalize;margin-bottom:2px}
.vc-hour-val{font-size:.75rem;color:var(--vc-ts);line-height:1.4}
.vc-hour-closed{color:#EF4444;font-weight:600;font-size:.75rem}
.vc-closed{color:#EF4444;font-weight:600}

/* ── FORMS ── */
.vc-form-group{margin-bottom:14px}
.vc-label{display:block;font-size:.78rem;font-weight:700;color:var(--vc-ts);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.vc-input{width:100%;border:1.5px solid var(--vc-bg2);border-radius:10px;padding:10px 14px;font-size:.9rem;color:var(--vc-t);background:var(--vc-bg);transition:border-color .2s;outline:none}
.vc-input:focus{border-color:var(--vc-p)}
textarea.vc-input{resize:vertical}
.vc-error{display:block;font-size:.74rem;color:#EF4444;margin-top:4px}

/* ── APPOINTMENT ── */
.vc-time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}
.vc-time-slot{background:var(--vc-bg2);border-radius:10px;padding:9px 10px;font-size:.8rem;cursor:pointer;color:var(--vc-t);display:flex;align-items:center;gap:6px;transition:all .2s;border:1.5px solid transparent}
.vc-time-slot:has(input:checked){border-color:var(--vc-p);color:var(--vc-p)}
.vc-time-slot input{accent-color:var(--vc-p)}

/* ── GRID ── */
.vc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

/* ── CARDS ── */
.vc-card{background:var(--vc-bg2);border-radius:14px;overflow:hidden;transition:transform .2s}
.vc-card:hover{transform:translateY(-2px)}
.vc-card-img img{width:100%;height:130px;object-fit:cover;display:block}
.vc-card-body{padding:12px}
.vc-card-title{font-size:.88rem;font-weight:700;color:var(--vc-t);margin-bottom:4px}
.vc-card-text{font-size:.78rem;color:var(--vc-ts);line-height:1.5;margin-bottom:8px}
.vc-price{font-size:.85rem;color:var(--vc-p);font-weight:700;margin-bottom:8px}
.vc-link{font-size:.78rem;color:var(--vc-p);font-weight:700;display:inline-flex;align-items:center;gap:4px}

/* ── GALLERY ── */
.vc-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.vc-gallery-item{border-radius:10px;overflow:hidden;aspect-ratio:1;position:relative;cursor:pointer}
.vc-gallery-item img,.vc-gallery-item video{width:100%;height:100%;object-fit:cover;display:block}
.vc-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);color:#fff;font-size:1.4rem}

/* ── MORE ACTIONS ── */
.vc-actions{display:flex;gap:10px}
.vc-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:var(--vc-bg2);border-radius:14px;font-size:.77rem;color:var(--vc-p);font-weight:700;transition:all .2s;cursor:pointer}
.vc-action-btn i{font-size:1.25rem}
.vc-action-btn:hover{background:var(--vc-p);color:#fff}

/* ── TESTIMONIALS ── */
.vc-testimonials-grid{grid-template-columns:1fr}
.vc-testimonial-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.vc-testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--vc-p)}
.vc-stars{color:var(--vc-a);font-size:.82rem}
.vc-rating-text{font-size:.72rem;color:var(--vc-ts);display:block;margin-top:2px}
.vc-testimonial-text{font-size:.84rem;line-height:1.65;color:var(--vc-ts);font-style:italic}

/* ── SOCIAL ── */
.vc-social-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.vc-social-link{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;transition:transform .2s,opacity .2s;text-decoration:none}
.vc-social-link:hover{transform:scale(1.12)}

/* ── BUTTONS ── */
.vc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;border-radius:12px;font-size:.88rem;font-weight:700;border:none;cursor:pointer;transition:all .2s}
.vc-btn-primary{background:var(--vc-p);color:#fff}
.vc-btn-primary:hover{background:var(--vc-pd)}
.vc-btn-ghost{background:transparent;color:var(--vc-ts);border:1.5px solid var(--vc-bg2)}

/* ── BRANDING ── */
.vc-branding{padding:16px;text-align:center;font-size:.74rem;color:var(--vc-ts);border-top:1px solid var(--vc-bg2)}

/* ── MODALS ── */
.vc-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:9999;align-items:flex-end;justify-content:center}
.vc-modal.active{display:flex}
.vc-modal-dialog{background:var(--vc-s);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:vcSlideUp .25s ease}
.vc-modal-dialog--wide{border-radius:16px;margin:auto;max-width:480px}
@keyframes vcSlideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.vc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--vc-bg2)}
.vc-modal-header h5{font-size:.95rem;font-weight:700;color:var(--vc-t)}
.vc-modal-close{background:none;border:none;font-size:1.1rem;color:var(--vc-ts);cursor:pointer;padding:4px;line-height:1}
.vc-modal-body{padding:20px}
.vc-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--vc-bg2)}

/* ── SHARE MODAL SPECIFIC ── */
.vc-qrcode-wrap{display:flex;justify-content:center;margin-bottom:14px}
.vc-qrcode-wrap canvas,.vc-qrcode-wrap img{border-radius:10px}
.vc-qr-hint{text-align:center;font-size:.8rem;color:var(--vc-ts);margin-bottom:16px;line-height:1.5}
.vc-qr-link{color:var(--vc-p);font-weight:600;word-break:break-all;display:block}
.vc-share-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none}
.vc-share-icons li a{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;transition:transform .2s}
.vc-share-icons li a:hover{transform:scale(1.1)}
