/* Elementor widget — full width, flex pass-through */
.elementor-widget-yhip-cal-public {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}
/* calendar-public.css — All Instructors Calendar (custom renderer) */
.yhip-cal-public {
    --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;
}
/* Filter Bar (PHP-rendered) */
.yhip-cal-public .yhip-cal-filters{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);flex-shrink:0}
.yhip-cal-public .yhip-filter-label{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--yhip-muted);white-space:nowrap}
.yhip-cal-public .yhip-filter-select,.yhip-cal-public .yhip-filter-instructor{flex:1;appearance:none;-webkit-appearance:none;background:var(--yhip-card);border:1px solid var(--yhip-border);border-radius:var(--yhip-r);padding:8px 32px 8px 12px;font-family:'DM Mono',monospace;font-size:12px;font-weight:500;color:var(--yhip-text);cursor:pointer;outline:none;transition:border-color .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a0916e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.yhip-cal-public .yhip-filter-select:focus,.yhip-cal-public .yhip-filter-instructor:focus{border-color:var(--yhip-accent)}
/* Tab Bar */
.yhip-cal-public .ya-tabs{display:flex;height:56px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);position:relative;flex-shrink:0}
.yhip-cal-public .ya-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-public .ya-tab.active{color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 10%,transparent);border-radius:8px 8px 0 0}
.yhip-cal-public .ya-tab svg{width:16px;height:16px}
.yhip-cal-public .ya-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-public .ya-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-public .ya-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-public .ya-arr:active{background:var(--yhip-accent);color:#fff}
.yhip-cal-public .ya-ttl{font-family:'DM Serif Display',Georgia,serif;font-size:17px;color:var(--yhip-text);font-weight:400}
/* View Toggle */
.yhip-cal-public .ya-views{display:flex;gap:4px;padding:8px 16px;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border);flex-shrink:0}
.yhip-cal-public .ya-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-public .ya-vb.active{background:var(--yhip-accent);border-color:var(--yhip-accent);color:#fff}
.yhip-cal-public .ya-vb.desk{display:none}
@media(min-width:1024px){.yhip-cal-public .ya-vb.desk{display:block}}
/* Scroll / Bottom */
.yhip-cal-public .ya-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0}
.yhip-cal-public .ya-scroll::-webkit-scrollbar{width:3px}
.yhip-cal-public .ya-scroll::-webkit-scrollbar-thumb{background:var(--yhip-border);border-radius:2px}
.yhip-cal-public .ya-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-public .ya-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-public .ya-tdy:active{color:var(--yhip-accent);border-color:var(--yhip-accent)}
.yhip-cal-public .ya-tdy.away{background:var(--yhip-accent);border-color:var(--yhip-accent);color:#fff}
/* Time Grid */
.yhip-cal-public .ya-tg{display:flex;flex-direction:column}
.yhip-cal-public .ya-tr{display:flex;min-height:64px;border-bottom:1px solid var(--yhip-border);position:relative}
.yhip-cal-public .ya-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-public .ya-tc{flex:1;padding:6px 10px 6px 8px;display:flex;flex-direction:column;gap:4px}
.yhip-cal-public .ya-empty{flex:1;min-height:48px}
/* Slot Card (clickable) */
.yhip-cal-public .ya-slot{background:#fff;border:1px solid var(--yhip-border);border-left:3px solid var(--yhip-accent);border-radius:var(--yhip-r);padding:8px 10px;cursor:pointer;animation:yhipSI .18s ease;transition:border-color .15s,box-shadow .15s}
.yhip-cal-public .ya-slot:hover{border-color:var(--yhip-accent);box-shadow:0 2px 8px rgba(0,0,0,.08)}
@keyframes yhipSI{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:none}}
.yhip-cal-public .ya-sn{font-size:12px;font-weight:500;color:var(--yhip-text)}
.yhip-cal-public .ya-st{font-size:10px;color:var(--yhip-muted);margin-top:1px}
/* N-Day */
.yhip-cal-public .ya-sticky{flex-shrink:0;background:var(--yhip-surface);border-bottom:1px solid var(--yhip-border)}
.yhip-cal-public .ya-ndh{display:flex}
.yhip-cal-public .ya-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-public .ya-ndc .dn{display:block;font-family:'DM Serif Display',serif;font-size:18px;color:var(--yhip-text);margin-bottom:2px}
.yhip-cal-public .ya-ndc.today .dn{color:var(--yhip-accent)}
.yhip-cal-public .ya-ndr{display:flex;min-height:56px;border-bottom:1px solid var(--yhip-border)}
.yhip-cal-public .ya-ndt{width:52px;padding:8px 8px 0;font-size:10px;color:var(--yhip-muted);flex-shrink:0;text-align:right}
.yhip-cal-public .ya-ndcl{flex:1;border-left:1px solid var(--yhip-border);padding:4px;min-height:56px;display:flex;flex-direction:column}
.yhip-cal-public .ya-ndcs{display:flex;flex:1}
.yhip-cal-public .ya-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);cursor:pointer;transition:background .15s;flex:1;display:flex;align-items:center}
.yhip-cal-public .ya-ms:hover{background:color-mix(in srgb,var(--yhip-accent) 22%,transparent)}
/* Month */
.yhip-cal-public .ya-mv{padding:8px 12px 16px}
.yhip-cal-public .ya-mw{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.yhip-cal-public .ya-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-public .ya-mg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.yhip-cal-public .ya-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-public .ya-md:active{background:color-mix(in srgb,var(--yhip-accent) 12%,var(--yhip-card))}
.yhip-cal-public .ya-md.other{opacity:.28;pointer-events:none}
.yhip-cal-public .ya-md.today{border-color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 10%,var(--yhip-card))}
.yhip-cal-public .ya-md .dnum{font-family:'DM Serif Display',serif;font-size:13px;color:var(--yhip-text);line-height:1}
.yhip-cal-public .ya-md.today .dnum{color:var(--yhip-accent)}
.yhip-cal-public .ya-dots{display:flex;gap:2px;margin-top:3px;flex-wrap:wrap;justify-content:center}
.yhip-cal-public .ya-dot{width:4px;height:4px;border-radius:50%;background:var(--yhip-accent)}
/* Profile Popup (bottom sheet) */
.yhip-cal-public .ya-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-public .ya-overlay.open{opacity:1;pointer-events:all}
.yhip-cal-public .ya-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-public .ya-overlay.open .ya-sheet{transform:translateY(0)}
.yhip-cal-public .ya-phandle{width:36px;height:4px;background:var(--yhip-border);border-radius:2px;margin:0 auto 20px;cursor:pointer}
.yhip-cal-public .ya-prow{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.yhip-cal-public .ya-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}
.yhip-cal-public .ya-pname{font-family:'DM Serif Display',serif;font-size:20px;color:var(--yhip-text)}
.yhip-cal-public .ya-prole{font-size:11px;color:var(--yhip-muted);letter-spacing:.07em;text-transform:uppercase;margin-top:2px}
.yhip-cal-public .ya-social{display:flex;gap:12px;margin-bottom:20px}
.yhip-cal-public .ya-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-public .ya-sbtn:hover{border-color:var(--yhip-accent);background:color-mix(in srgb,var(--yhip-accent) 8%,transparent);color:var(--yhip-accent)}
/* Social icon brand colors */
.yhip-cal-public .ya-sbtn[title="WhatsApp"]{color:#25D366}
.yhip-cal-public .ya-sbtn[title="WhatsApp"]:hover{color:#25D366;border-color:#25D366;background:rgba(37,211,102,.08)}
.yhip-cal-public .ya-sbtn[title="Telegram"]{color:#0088cc}
.yhip-cal-public .ya-sbtn[title="Telegram"]:hover{color:#0088cc;border-color:#0088cc;background:rgba(0,136,204,.08)}
.yhip-cal-public .ya-sbtn[title="Instagram"]{color:#E4405F}
.yhip-cal-public .ya-sbtn[title="Instagram"]:hover{color:#E4405F;border-color:#E4405F;background:rgba(228,64,95,.08)}
.yhip-cal-public .ya-sbtn[title="Messenger"]{color:#0084FF}
.yhip-cal-public .ya-sbtn[title="Messenger"]:hover{color:#0084FF;border-color:#0084FF;background:rgba(0,132,255,.08)}
.yhip-cal-public .ya-sbtn svg{width:20px;height:20px}
.yhip-cal-public .ya-pdiv{height:1px;background:var(--yhip-border);margin:0 0 20px}
.yhip-cal-public .ya-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-public .ya-plink:hover{opacity:.9}
/* Free label */
.yhip-cal-public .ya-free-lbl{font-size:9px;color:var(--yhip-border);letter-spacing:.06em;text-transform:uppercase}
/* Responsive */
@media(max-width:480px){
    .yhip-cal-public .ya-tab{font-size:9px}
    .yhip-cal-public .ya-ttl{font-size:14px}
    .yhip-cal-public .ya-vb{font-size:9px;padding:5px 2px}
    .yhip-cal-public .yhip-cal-filters{flex-wrap:wrap}
}

/* Free label in empty hours */
.yhip-cal-public .ya-empty { flex:1; min-height:48px; }

/* Current time indicator */
.yhip-cal-public .ya-now{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-public .ya-now::before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--yhip-accent)}
