*,*::before,*::after{box-sizing:border-box;}

/* Trigger button */
.ztd-trigger-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#2d5a27;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;}
.ztd-trigger-btn:hover{background:#3d7a33;}

/* Overlay */
.ztd-overlay{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.45);align-items:center;justify-content:center;padding:16px;}
.ztd-overlay.ztd-open{display:flex;}

/* ── POPUP BOX ── */
.ztd-popup{background:#fff;border-radius:22px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2);font-family:-apple-system,'Segoe UI',system-ui,Arial,sans-serif;color:#111827;}
.ztd-popup::-webkit-scrollbar{width:3px;}
.ztd-popup::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px;}
.ztd-inline-wrap{width:100%;max-width:460px;margin:0 auto;}
.ztd-inline-wrap .ztd-popup{max-height:none;box-shadow:0 4px 24px rgba(0,0,0,.10);}

/* ── HEADER ── */
.ztd-header{display:flex;align-items:center;justify-content:space-between;padding:24px 22px 10px;}
.ztd-title{font-size:22px;font-weight:800;color:#111827;letter-spacing:-.5px;line-height:1;margin:0;}
.ztd-close-btn{width:34px;height:34px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#111827;flex-shrink:0;padding:0;}
.ztd-close-btn:hover{background:#f3f4f6;}

/* ── PAX SECTION ── */
.ztd-pax-section{padding:6px 22px 16px;}
.ztd-pax-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #f0f0f0;}
.ztd-pax-info{display:flex;flex-direction:column;gap:4px;}
.ztd-pax-label{font-size:18px;font-weight:700;color:#111827;line-height:1.2;}
.ztd-pax-age{font-size:13px;color:#9ca3af;font-weight:400;}
.ztd-pax-ctrl{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.ztd-pax-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid #d1d5db;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#374151;flex-shrink:0;padding:0;line-height:0;transition:border-color .15s,color .15s;}
.ztd-pax-btn:hover:not(:disabled){border-color:#2d5a27;color:#2d5a27;}
.ztd-pax-btn:disabled{opacity:.28;cursor:not-allowed;}
.ztd-pax-btn svg{display:block;pointer-events:none;}
.ztd-pax-num{font-size:20px;font-weight:800;color:#111827;min-width:20px;text-align:center;line-height:1;display:inline-block;}
.ztd-safety-note{display:flex;align-items:flex-start;gap:9px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 13px;margin-top:6px;font-size:12.5px;color:#374151;line-height:1.5;}
.ztd-safety-note svg{flex-shrink:0;margin-top:1px;color:#16a34a;}

/* ── DATE CARDS ── */
.ztd-dates-list{padding:4px 12px;}
.ztd-empty{text-align:center;padding:30px;color:#9ca3af;font-size:14px;line-height:1.6;}
.ztd-date-card{border:1.5px solid #ebebeb;border-radius:14px;margin:7px 0;padding:14px 16px 10px;background:#fff;}
.ztd-card-sold{background:#f9fafb;}
.ztd-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}

/* ── BIG DATE TITLE — exact screenshot ── */
.ztd-card-title{
    font-size:17px;
    font-weight:800;
    color:#111827;
    line-height:1.25;
    letter-spacing:-.3px;
    margin:0;
    word-break:break-word;
}
.ztd-strikethrough{text-decoration:line-through;color:#9ca3af;}

/* Status badges */
.ztd-status-badge{font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;padding-top:2px;}
.ztd-status-available{color:#6b7280;}
.ztd-status-last_spots{color:#ef4444;}
.ztd-status-sold_out{color:#9ca3af;}

/* ── TIMES ROW ── */
.ztd-card-times{display:flex;align-items:center;}
.ztd-time-block{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0;}
.ztd-time-icon{flex-shrink:0;color:#6b7280;line-height:0;margin-top:2px;}
.ztd-time-icon svg{display:block;width:22px;height:22px;}
.ztd-time-info{display:flex;flex-direction:column;gap:1px;}
.ztd-time-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;line-height:1.2;}
.ztd-time-val{font-size:13px;font-weight:700;color:#111827;line-height:1.4;white-space:nowrap;}
.ztd-time-day{font-size:12px;color:#6b7280;line-height:1.3;}
.ztd-time-divider{width:1px;height:44px;background:#e5e7eb;margin:0 12px;flex-shrink:0;align-self:center;}

/* ── BOOK NOW ── */
.ztd-book-col{flex-shrink:0;padding-left:8px;}
.ztd-book-btn{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:#111827;text-decoration:none;white-space:nowrap;transition:color .15s;font-family:inherit;}
.ztd-book-btn:hover{color:#2d5a27;text-decoration:none;}
.ztd-book-icon{display:inline-flex;align-items:center;line-height:0;transition:transform .15s;}
.ztd-book-btn:hover .ztd-book-icon{transform:translateX(3px);}
.ztd-book-icon svg{display:block;}
.ztd-sold-btn{font-size:13px;font-weight:600;color:#9ca3af;}

/* Nota */
.ztd-nota{display:flex;align-items:center;gap:5px;font-size:11px;color:#9ca3af;margin-top:8px;padding-top:7px;border-top:1px solid #f3f4f6;font-style:italic;}

/* Footer */
.ztd-footer{text-align:center;padding:14px 22px 22px;border-top:1px solid #f3f4f6;margin-top:6px;}
.ztd-custom-link{font-size:14px;font-weight:600;color:#374151;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#d1d5db;}
.ztd-custom-link:hover{color:#2d5a27;}

@media(max-width:500px){
    .ztd-overlay{align-items:flex-end;padding:0;}
    .ztd-popup{border-radius:20px 20px 0 0;max-height:92vh;}
    .ztd-time-val{font-size:12px;white-space:normal;}
}
