/* Summary card */
.ddb-summary{border:1px solid #E2E8F0;border-radius:7px;padding:16px 18px;background:#FFFFFF;box-shadow:0 18px 32px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:14px;}
.ddb-summary-meta{display:flex;flex-wrap:wrap;gap:10px;}
.ddb-meta-item{border:1px solid #E2E8F0;border-radius:7px;padding:8px 10px;background:linear-gradient(135deg,#F8FAFC 0%,#F1F5F9 100%);display:flex;align-items:center;gap:8px;transition:border-color .2s ease,box-shadow .2s ease;}
.ddb-meta-item:hover{border-color:#C7D2FE;box-shadow:0 10px 18px rgba(59,130,246,.14);}
.ddb-meta-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#94A3B8;background:rgba(148,163,184,.14);border-radius:7px;}
.ddb-meta-icon svg{width:100%;height:100%;stroke:currentColor;}
.ddb-meta-label{display:none;}
.ddb-meta-value{font-weight:500;color:#475569;font-size:.96rem;line-height:1.25;letter-spacing:.01em;}
.ddb-summary .screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap;}
.ddb-row{display:flex;flex-direction:column;gap:2px;}
.ddb-row + .ddb-row{margin-top:6px;}
.ddb-row label{font-weight:500;font-size:.9rem;color:#475569;}
.ddb-input-wrap{position:relative;display:block;}
.ddb-input-wrap input,
.ddb-input-wrap select{border:1px solid #CBD5E1;border-radius:7px;padding:8px 11px;font-size:.95rem;background:#ffffff;transition:border-color .2s ease,box-shadow .2s ease;width:100%;padding-right:38px;}
.ddb-row input:focus,
.ddb-row select:focus{border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,.15);outline:none;}
.ddb-row input.is-valid,
.ddb-row select.is-valid{border-color:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.18);}
.ddb-input-status{position:absolute;right:10px;top:50%;transform:translateY(-50%) scale(.8);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(34,197,94,.12);color:#22C55E;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;}
.ddb-input-status svg{width:14px;height:14px;}
.ddb-input-status.is-visible{opacity:1;transform:translateY(-50%) scale(1);}
.ddb-price-value{font-weight:600;}
.ddb-price-note{margin:0;font-size:.87rem;color:#64748B;line-height:1.5;}
.ddb-actions{display:flex;gap:10px;flex-wrap:wrap;}
.ddb-actions .button{flex:1 1 150px;padding:.6rem 1rem;border-radius:7px;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;}
.ddb-actions .button.alt{background:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);border-color:#1D4ED8;color:#FFFFFF;box-shadow:0 12px 24px rgba(37,99,235,.25);}
.ddb-actions .button.alt:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(37,99,235,.3);}
.ddb-actions .button.alt:disabled{background:#BBD0FF;border-color:#BBD0FF;color:#ffffff;cursor:not-allowed;box-shadow:none;transform:none;}
.ddb-actions .button.button-secondary,
.ddb-actions .button:not(.alt){background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#1D4ED8;}
.ddb-actions .button.button-secondary:hover,
.ddb-actions .button:not(.alt):hover{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.28);transform:translateY(-1px);}

@media (max-width: 768px){
  .ddb-actions{position:sticky;bottom:12px;left:0;right:0;margin-top:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);padding:12px;border-radius:7px;border:1px solid rgba(148,163,184,.25);box-shadow:0 20px 40px rgba(15,23,42,.18);z-index:9;}
}

/* Planner dock */
.ddb-planner-dock-wrap{position:relative;}
.ddb-planner-dock{position:sticky;top:96px;border:1px solid #E2E8F0;border-radius:7px;padding:16px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.12);display:flex;flex-direction:column;gap:10px;max-width:360px;margin-left:auto;}
.planner-field{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #E2E8F0;border-radius:7px;background:#fff;font-size:.95rem;cursor:pointer;transition:box-shadow .2s ease;}
.planner-field strong{font-weight:600;color:#0F172A;}
.planner-field[disabled]{opacity:.55;cursor:not-allowed;}
.planner-field:focus-visible{outline:2px solid #2563EB;outline-offset:2px;}
.popover{border:1px solid #E2E8F0;border-radius:7px;padding:12px;background:#fff;box-shadow:0 18px 32px rgba(15,23,42,.1);}
.popover .slots{display:flex;flex-wrap:wrap;gap:8px;}
.popover .slots button{border:1px solid #CBD5F5;border-radius:7px;padding:6px 12px;background:#fff;cursor:pointer;transition:background .2s ease, color .2s ease;}
.popover .slots button:hover{background:#2563EB;color:#fff;border-color:#2563EB;}
.popover .slots button[disabled]{opacity:.4;cursor:not-allowed;}
.planner-total{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:1.05rem;margin-top:4px;}
.dock-book .btn-primary{background:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);color:#fff;border:1px solid #1D4ED8;padding:.65rem 1rem;border-radius:7px;width:100%;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;}
.dock-book .btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(37,99,235,.3);}
.dock-book .btn-primary[disabled]{background:#93C5FD;cursor:not-allowed;}
.btn-secondary{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);color:#1D4ED8;padding:.65rem 1rem;border-radius:7px;width:100%;font-weight:600;transition:transform .2s ease;}
.btn-secondary:hover{transform:translateY(-1px);}
.planner-notice{font-size:.95rem;color:#B91C1C;min-height:18px;}

/* Sticky CTA */
.ddb-sticky-cta{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-top:1px solid #E2E8F0;box-shadow:0 -16px 38px rgba(15,23,42,.12);}
.ddb-sticky-cta .ddb-sticky-meta{font-weight:600;color:#0F172A;}
.ddb-sticky-cta .ddb-sticky-book{flex:1 0 auto;}

@media (max-width: 1023px){
  .ddb-planner-dock{display:none;}
}

@media (max-width: 768px){
  .ddb-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:99;}
}


.ddb-feedback{margin-top:8px;font-size:.95rem;color:#B91C1C;min-height:18px;}

.ddb-calendar{display:flex;flex-direction:column;gap:8px;}
.ddb-calendar .calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.ddb-calendar .calendar-nav{background:#F1F5F9;border:1px solid #CBD5E1;border-radius:8px;padding:6px 10px;cursor:pointer;}
.ddb-calendar .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);font-size:.75rem;text-align:center;color:#64748B;gap:4px;}
.ddb-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.ddb-calendar .calendar-grid button{padding:8px 0;border:1px solid #E2E8F0;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.ddb-calendar .calendar-grid button:hover{background:#2563EB;color:#fff;border-color:#2563EB;}
.ddb-calendar .calendar-grid button.is-selected{background:#2563EB;color:#fff;border-color:#2563EB;}
.ddb-calendar .calendar-grid button.is-today{border-color:#2563EB;}
.ddb-calendar .calendar-grid button.is-outside{opacity:.35;cursor:not-allowed;}
.ddb-calendar .calendar-grid button:disabled{opacity:.35;cursor:not-allowed;}


