/* Elementor widget — full width, flex pass-through */
.elementor-widget-yhip-cal-profile {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}
/* calendar-profile.css — Single Instructor Calendar (custom renderer) */
.yhip-cal-profile {
    --yhip-bg:#fdfaf3;--yhip-surface:#fff;--yhip-card:#f7f2e4;
    --yhip-accent:#D09A40;--yhip-accent2:#e0b860;--yhip-text:#1e1a0f;
    --yhip-muted:#a0916e;--yhip-border:#e8dfc4;--yhip-r:8px;
    width:100%;box-sizing:border-box;font-family:'DM Mono',ui-monospace,monospace;
    background:var(--yhip-bg);color:var(--yhip-text);display:flex;flex-direction:column;height:600px;
}
/* Profile Bar */
.yhip-cal-profile .yp-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);flex-shrink:0}
.yhip-cal-profile .yp-av{width:36px;height:36px;border-radius:50%;background:var(--yhip-accent);color:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.yhip-cal-profile .yp-av-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.yhip-cal-profile .yp-nm{font-size:13px;font-weight:500;color:var(--yhip-text)}
.yhip-cal-profile .yp-rl{font-size:10px;color:var(--yhip-muted);letter-spacing:.07em;text-transform:uppercase}
/* Tab Bar */
.yhip-cal-profile .yp-tabs{display:flex;height:56px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);position:relative;flex-shrink:0}
.yhip-cal-profile .yp-tab{flex:1;background:none;border:none;color:var(--yhip-muted);font-family:'DM Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:color .25s;position:relative;z-index:1}
.yhip-cal-profile .yp-tab.active{color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 10%,transparent);border-radius:8px 8px 0 0}
.yhip-cal-profile .yp-tab svg{width:16px;height:16px}
.yhip-cal-profile .yp-tind{position:absolute;bottom:0;height:2px;background:var(--yhip-accent);transition:left .35s cubic-bezier(.4,0,.2,1);left:0;width:50%}
/* Header */
.yhip-cal-profile .yp-hdr{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);flex-shrink:0}
.yhip-cal-profile .yp-arr{width:36px;height:36px;background:var(--yhip-card);border:1px solid var(--yhip-border);border-radius:var(--yhip-r);color:var(--yhip-text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.yhip-cal-profile .yp-arr:active{background:var(--yhip-accent);color:#fff}
.yhip-cal-profile .yp-ttl{font-family:'DM Serif Display',Georgia,serif;font-size:17px;color:var(--yhip-text);font-weight:400}
/* View Toggle */
.yhip-cal-profile .yp-views{display:flex;gap:4px;padding:8px 16px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);flex-shrink:0}
.yhip-cal-profile .yp-vb{flex:1;padding:7px 4px;background:var(--yhip-card);border:1px solid var(--yhip-border);border-radius:var(--yhip-r);color:var(--yhip-muted);font-family:'DM Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.yhip-cal-profile .yp-vb.active{background:var(--yhip-accent);border-color:var(--yhip-accent);color:#fff}
.yhip-cal-profile .yp-vb.desk{display:none}
@media(min-width:1024px){.yhip-cal-profile .yp-vb.desk{display:block}}
/* Scroll */
.yhip-cal-profile .yp-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0}
.yhip-cal-profile .yp-scroll::-webkit-scrollbar{width:3px}
.yhip-cal-profile .yp-scroll::-webkit-scrollbar-thumb{background:var(--yhip-border);border-radius:2px}
/* Bottom Nav */
.yhip-cal-profile .yp-bot{height:60px;background:var(--yhip-surface);border-top:1px solid var(--yhip-border);display:flex;align-items:center;padding:0 16px;flex-shrink:0}
.yhip-cal-profile .yp-tdy{padding:8px 16px;background:var(--yhip-card);border:1px solid var(--yhip-border);border-radius:var(--yhip-r);color:var(--yhip-muted);font-family:'DM Mono',monospace;font-size:11px;cursor:pointer;transition:all .2s}
.yhip-cal-profile .yp-tdy:active{color:var(--yhip-accent);border-color:var(--yhip-accent)}
.yhip-cal-profile .yp-tdy.away{background:var(--yhip-accent);border-color:var(--yhip-accent);color:#fff}
/* Time Grid */
.yhip-cal-profile .yp-tg{display:flex;flex-direction:column}
.yhip-cal-profile .yp-tr{display:flex;min-height:64px;border-bottom:1px solid var(--yhip-border);position:relative}
.yhip-cal-profile .yp-tl{width:52px;padding:10px 8px 0;font-size:10px;color:var(--yhip-muted);flex-shrink:0;text-align:right;font-weight:500;letter-spacing:.04em}
.yhip-cal-profile .yp-tc{flex:1;padding:6px 10px 6px 8px;display:flex;flex-direction:column;gap:4px}
.yhip-cal-profile .yp-empty{flex:1;min-height:48px}
/* Slot Card */
.yhip-cal-profile .yp-slot{background:#fff;border:1px solid var(--yhip-border);border-left:3px solid var(--yhip-accent);border-radius:var(--yhip-r);padding:8px 10px;animation:yhipSI .18s ease}
.yhip-cal-profile .yp-slot.ghost{opacity:.55;border-left-color:var(--yhip-muted)}
.yhip-cal-profile .yp-slot.ghost .yp-sn{color:var(--yhip-muted)}
@keyframes yhipSI{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:none}}
.yhip-cal-profile .yp-sn{font-size:12px;font-weight:500;color:var(--yhip-text)}
.yhip-cal-profile .yp-st{font-size:10px;color:var(--yhip-muted);margin-top:1px}
.yhip-cal-profile .yp-sr{display:inline-flex;align-items:center;gap:3px;margin-top:3px;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--yhip-accent);opacity:.7}
/* Time Line */
.yhip-cal-profile .yp-line{position:absolute;left:52px;right:0;height:2px;background:color-mix(in srgb,var(--yhip-accent) 55%,transparent);z-index:5;pointer-events:none}
.yhip-cal-profile .yp-line::before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--yhip-accent)}
/* N-Day */
.yhip-cal-profile .yp-sticky{flex-shrink:0;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border)}
.yhip-cal-profile .yp-ndh{display:flex}
.yhip-cal-profile .yp-ndc{flex:1;padding:10px 4px;text-align:center;border-left:1px solid var(--yhip-border);font-size:10px;color:var(--yhip-muted);letter-spacing:.06em}
.yhip-cal-profile .yp-ndc .dn{display:block;font-family:'DM Serif Display',serif;font-size:18px;color:var(--yhip-text);margin-bottom:2px}
.yhip-cal-profile .yp-ndc.today .dn{color:var(--yhip-accent)}
.yhip-cal-profile .yp-ndr{display:flex;min-height:56px;border-bottom:1px solid var(--yhip-border)}
.yhip-cal-profile .yp-ndt{width:52px;padding:8px 8px 0;font-size:10px;color:var(--yhip-muted);flex-shrink:0;text-align:right}
.yhip-cal-profile .yp-ndcl{flex:1;border-left:1px solid var(--yhip-border);padding:4px;min-height:56px;display:flex;flex-direction:column}
.yhip-cal-profile .yp-ndcs{display:flex;flex:1}
.yhip-cal-profile .yp-ms{background:color-mix(in srgb,var(--yhip-accent) 14%,transparent);border-left:2px solid var(--yhip-accent);border-radius:4px;padding:3px 4px;font-size:9px;color:var(--yhip-accent);flex:1;display:flex;align-items:center}
.yhip-cal-profile .yp-ms.ghost{opacity:.5;border-left-color:var(--yhip-muted);color:var(--yhip-muted);background:color-mix(in srgb,var(--yhip-muted) 10%,transparent)}
/* Month */
.yhip-cal-profile .yp-mv{padding:8px 12px 16px}
.yhip-cal-profile .yp-mw{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.yhip-cal-profile .yp-mwd{text-align:center;font-size:9px;font-weight:500;color:var(--yhip-muted);letter-spacing:.08em;text-transform:uppercase;padding:4px 0}
.yhip-cal-profile .yp-mg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.yhip-cal-profile .yp-md{aspect-ratio:1;border-radius:var(--yhip-r);background:var(--yhip-card);border:1px solid var(--yhip-border);display:flex;flex-direction:column;align-items:center;padding:5px 2px 3px;cursor:pointer;transition:background .15s,border-color .15s;overflow:hidden}
.yhip-cal-profile .yp-md:active{background:color-mix(in srgb,var(--yhip-accent) 12%,var(--yhip-card))}
.yhip-cal-profile .yp-md.other{opacity:.28;pointer-events:none}
.yhip-cal-profile .yp-md.today{border-color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 10%,var(--yhip-card))}
.yhip-cal-profile .yp-md .dnum{font-family:'DM Serif Display',serif;font-size:13px;color:var(--yhip-text);line-height:1}
.yhip-cal-profile .yp-md.today .dnum{color:var(--yhip-accent)}
.yhip-cal-profile .yp-dots{display:flex;gap:2px;margin-top:3px;flex-wrap:wrap;justify-content:center}
.yhip-cal-profile .yp-dot{width:4px;height:4px;border-radius:50%;background:var(--yhip-accent)}
/* Responsive */
@media(max-width:480px){
    .yhip-cal-profile .yp-tab{font-size:9px}
    .yhip-cal-profile .yp-ttl{font-size:14px}
    .yhip-cal-profile .yp-vb{font-size:9px;padding:5px 2px}
}

/* Free label in empty hours */
.yhip-cal-profile .yp-empty { flex:1; min-height:48px; border-radius:var(--yhip-r); border:1.5px dashed transparent; display:flex; align-items:center; justify-content:flex-end; padding-right:12px; }
/* FIX #7: Free label removed — empty slots show nothing */

/* FIX #3: Popup overlay for slot click — photo + social links */
.yhip-cal-profile .yp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.yhip-cal-profile .yp-overlay.open{opacity:1;pointer-events:all}
.yhip-cal-profile .yp-sheet{width:100%;box-sizing:border-box;max-width:480px;background:var(--yhip-surface);border-radius:20px 20px 0 0;padding:20px 24px 44px;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
.yhip-cal-profile .yp-overlay.open .yp-sheet{transform:translateY(0)}
.yhip-cal-profile .yp-phandle{width:36px;height:4px;background:var(--yhip-border);border-radius:2px;margin:0 auto 20px;cursor:pointer}
.yhip-cal-profile .yp-prow{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.yhip-cal-profile .yp-pav{width:56px;height:56px;border-radius:50%;background:var(--yhip-accent);color:#fff;font-size:18px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.yhip-cal-profile .yp-pname{font-family:'DM Serif Display',serif;font-size:20px;color:var(--yhip-text)}
.yhip-cal-profile .yp-prole{font-size:11px;color:var(--yhip-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.yhip-cal-profile .yp-social{display:flex;gap:10px;margin-bottom:18px}
.yhip-cal-profile .yp-sbtn{width:44px;height:44px;border-radius:12px;background:var(--yhip-card);border:1px solid var(--yhip-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none;color:var(--yhip-muted)}
.yhip-cal-profile .yp-sbtn:hover{border-color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 8%,transparent);color:var(--yhip-accent)}
.yhip-cal-profile .yp-pdiv{height:1px;background:var(--yhip-border);margin-bottom:18px}
.yhip-cal-profile .yp-sbtn[title="WhatsApp"]{color:#25D366}
.yhip-cal-profile .yp-sbtn[title="WhatsApp"]:hover{color:#25D366;border-color:#25D366;background:rgba(37,211,102,.08)}
.yhip-cal-profile .yp-sbtn[title="Telegram"]{color:#0088cc}
.yhip-cal-profile .yp-sbtn[title="Telegram"]:hover{color:#0088cc;border-color:#0088cc;background:rgba(0,136,204,.08)}
.yhip-cal-profile .yp-sbtn[title="Instagram"]{color:#E4405F}
.yhip-cal-profile .yp-sbtn[title="Instagram"]:hover{color:#E4405F;border-color:#E4405F;background:rgba(228,64,95,.08)}
.yhip-cal-profile .yp-sbtn[title="Messenger"]{color:#0084FF}
.yhip-cal-profile .yp-sbtn[title="Messenger"]:hover{color:#0084FF;border-color:#0084FF;background:rgba(0,132,255,.08)}
.yhip-cal-profile .yp-sbtn svg{width:20px;height:20px}
.yhip-cal-profile .yp-plink{width:100%;box-sizing:border-box;padding:14px;background:var(--yhip-accent);border:none;border-radius:10px;color:#fff;font-family:'DM Mono',monospace;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity .15s;text-align:center}
.yhip-cal-profile .yp-plink:hover{opacity:.9}
.yhip-cal-profile .yp-slot{cursor:pointer}
.yhip-cal-profile .yp-ms{cursor:pointer}
