.pxl-pc{background:var(--pxl-pc-bg,#fff);color:var(--pxl-pc-text,#202020);line-height:1.45}.pxl-pc *{box-sizing:border-box}.pxl-pc-panel{max-width:1100px;margin:0 auto;padding:clamp(18px,4vw,42px);background:var(--pxl-pc-surface,#f8f5f0);border-radius:var(--pxl-pc-radius,14px)}.pxl-pc h2,.pxl-pc h3{color:var(--pxl-pc-title,#111);margin-top:0}.pxl-pc-lead{font-size:1.05rem}.pxl-pc-steps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pxl-pc-steps span{padding:8px 12px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:999px;font-size:.9rem}.pxl-pc-steps .is-active{background:var(--pxl-pc-primary,#111);color:var(--pxl-pc-primary-text,#fff);border-color:var(--pxl-pc-primary,#111)}.pxl-pc-section{background:#fff;border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-radius,14px);padding:20px;margin:18px 0}.pxl-pc-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.pxl-pc-section-head p{margin:.15rem 0 0;color:color-mix(in srgb,var(--pxl-pc-text,#202020) 72%,transparent)}.pxl-pc label{display:block;font-weight:650;margin:12px 0}.pxl-pc input,.pxl-pc select,.pxl-pc textarea{width:100%;padding:var(--pxl-pc-input-padding-y,13px) var(--pxl-pc-input-padding-x,14px);border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-input-radius,10px);background:#fff;color:inherit;font:inherit}.pxl-pc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pxl-pc-grid-compact{align-items:end}.pxl-pc-view-toggle{display:inline-flex;border:1px solid var(--pxl-pc-border,#ddd);border-radius:999px;padding:3px;background:#fff;white-space:nowrap}.pxl-pc-view-toggle button{border:0;background:transparent;border-radius:999px;padding:9px 14px;font:inherit;font-weight:750;cursor:pointer;color:inherit}.pxl-pc-view-toggle button.is-active{background:var(--pxl-pc-primary,#111);color:var(--pxl-pc-primary-text,#fff)}.pxl-pc-calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 10px}.pxl-pc-cal-title{text-transform:capitalize;font-size:1.15rem}.pxl-pc-cal-nav{width:42px;height:42px;border-radius:999px;border:1px solid var(--pxl-pc-border,#ddd);background:#fff;font-size:1.7rem;line-height:1;cursor:pointer;color:inherit}.pxl-pc-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 16px;font-size:.92rem}.pxl-pc-calendar-legend span{display:inline-flex;gap:6px;align-items:center}.pxl-pc-calendar-legend i{width:12px;height:12px;border-radius:999px;display:inline-block;border:1px solid var(--pxl-pc-border,#ddd)}.pxl-pc-calendar-legend .is-available{background:var(--pxl-pc-available,#eef8f0)}.pxl-pc-calendar-legend .is-held{background:var(--pxl-pc-held,#fff4d6)}.pxl-pc-calendar-legend .is-booked{background:var(--pxl-pc-booked,#f2f2f2)}.pxl-pc-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.pxl-pc-day{min-height:205px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-input-radius,10px);background:#fff;overflow:hidden}.pxl-pc-day.is-today{box-shadow:0 0 0 2px var(--pxl-pc-primary,#111) inset}.pxl-pc-day-head{display:grid;grid-template-columns:1fr auto;gap:2px;padding:12px;background:#fafafa;border-bottom:1px solid var(--pxl-pc-border,#ddd)}.pxl-pc-day-head span{text-transform:capitalize;font-weight:800}.pxl-pc-day-head strong{grid-row:1/3;grid-column:2;font-size:1.45rem;line-height:1}.pxl-pc-day-head small{text-transform:capitalize}.pxl-pc-day-body{padding:10px;display:flex;flex-direction:column;gap:8px}.pxl-pc-no-slot{font-size:.86rem;opacity:.62}.pxl-pc-month-heads,.pxl-pc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pxl-pc-month-heads{margin-bottom:6px}.pxl-pc-month-heads div{text-align:center;font-weight:800;font-size:.88rem}.pxl-pc-month-cell{min-height:132px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-input-radius,10px);background:#fff;padding:8px;display:flex;flex-direction:column;gap:7px}.pxl-pc-month-cell.is-out{opacity:.45}.pxl-pc-month-cell.is-today{box-shadow:0 0 0 2px var(--pxl-pc-primary,#111) inset}.pxl-pc-month-cell.is-available{background:color-mix(in srgb,var(--pxl-pc-available,#eef8f0) 58%,#fff)}.pxl-pc-month-cell.is-held{background:color-mix(in srgb,var(--pxl-pc-held,#fff4d6) 58%,#fff)}.pxl-pc-month-cell.is-booked{background:color-mix(in srgb,var(--pxl-pc-booked,#f2f2f2) 70%,#fff)}.pxl-pc-month-date{display:flex;justify-content:space-between;gap:6px;align-items:center}.pxl-pc-month-date strong{font-size:1.05rem}.pxl-pc-month-date span{font-size:.72rem;padding:3px 6px;border-radius:999px;background:var(--pxl-pc-available,#eef8f0);font-weight:800}.pxl-pc-month-slots{display:flex;flex-direction:column;gap:5px}.pxl-pc-slot-chip{width:100%;display:flex;flex-direction:column;gap:1px;text-align:left;border:1px solid var(--pxl-pc-border,#ddd);border-radius:calc(var(--pxl-pc-input-radius,10px) - 2px);padding:9px 10px;background:var(--pxl-pc-available,#eef8f0);cursor:pointer;color:inherit}.pxl-pc-slot-chip small{text-transform:capitalize;opacity:.78}.pxl-pc-slot-chip strong{font-size:.95rem}.pxl-pc-slot-chip span{font-size:.78rem;font-weight:750}.pxl-pc-slot-chip.is-held{background:var(--pxl-pc-held,#fff4d6)}.pxl-pc-slot-chip.is-booked,.pxl-pc-slot-chip.is-blocked{background:var(--pxl-pc-booked,#f2f2f2)}.pxl-pc-slot-chip[disabled]{cursor:not-allowed;opacity:.72}.pxl-pc-slot-chip.is-selected{outline:3px solid var(--pxl-pc-primary,#111);outline-offset:1px}.pxl-pc-more{font-weight:800;opacity:.72}.pxl-pc-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--pxl-pc-button-radius,999px);padding:var(--pxl-pc-button-padding-y,14px) var(--pxl-pc-button-padding-x,22px);background:var(--pxl-pc-primary,#111);color:var(--pxl-pc-primary-text,#fff);font-weight:750;cursor:pointer}.pxl-pc-button:focus,.pxl-pc input:focus,.pxl-pc select:focus,.pxl-pc textarea:focus,.pxl-pc-slot-chip:focus,.pxl-pc-cal-nav:focus,.pxl-pc-view-toggle button:focus{outline:3px solid currentColor;outline-offset:2px}.pxl-pc-check{display:flex!important;gap:10px;align-items:flex-start}.pxl-pc-check input{width:auto;margin-top:5px}.pxl-pc-message{margin-top:14px;font-weight:700}.pxl-pc-message.is-error{color:var(--pxl-pc-error,#b42318)}.pxl-pc-message.is-success{color:var(--pxl-pc-success,#0f7a3b)}.pxl-pc-price,.pxl-pc-summary-box{padding:14px;background:#f7f7f7;border-radius:var(--pxl-pc-input-radius,10px)}
@media(max-width:920px){.pxl-pc-week-grid{grid-template-columns:1fr}.pxl-pc-day{min-height:auto}.pxl-pc-month-heads{display:none}.pxl-pc-month-grid{grid-template-columns:1fr}.pxl-pc-month-cell{min-height:auto}.pxl-pc-month-cell.is-out{display:none}.pxl-pc-section-head{display:block}.pxl-pc-view-toggle{margin-top:12px}}
@media(max-width:700px){.pxl-pc-grid{grid-template-columns:1fr}.pxl-pc-panel{border-radius:0}.pxl-pc-section{padding:16px}.pxl-pc-calendar-toolbar{justify-content:space-between}.pxl-pc-cal-title{text-align:center;font-size:1rem}.pxl-pc-view-toggle{width:100%;display:flex}.pxl-pc-view-toggle button{flex:1}.pxl-pc-calendar-legend{gap:8px}}
@media(prefers-reduced-motion:reduce){.pxl-pc *{scroll-behavior:auto!important;transition:none!important}}

/* 0.1.3 beta - refined booking stepper and form controls */
.pxl-pc-panel{max-width:min(1280px,100%);}
.pxl-pc-lead{font-size:clamp(1rem,1.6vw,1.18rem);margin:0 0 26px;}
.pxl-pc-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:26px 0 30px;align-items:center;isolation:isolate;}
.pxl-pc-steps:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--pxl-pc-border,#ddd);transform:translateY(-50%);z-index:0;}
.pxl-pc-steps:after{content:"";position:absolute;left:0;top:50%;height:4px;width:var(--pxl-pc-progress,0%);background:var(--pxl-pc-success,#2f8f46);border-radius:999px;transform:translateY(-50%);z-index:1;transition:width .25s ease;}
.pxl-pc-steps span{position:relative;z-index:2;justify-self:center;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:999px;background:var(--pxl-pc-surface,#f8f5f0);padding:10px 18px;min-width:clamp(128px,18vw,190px);justify-content:center;font-size:clamp(.9rem,1vw,1rem);font-weight:500;white-space:nowrap;}
.pxl-pc-steps span:first-child{justify-self:start;}
.pxl-pc-steps span:last-child{justify-self:end;}
.pxl-pc-steps span b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid currentColor;font-size:.8rem;font-weight:650;line-height:1;}
.pxl-pc-steps span em{font-style:normal;}
.pxl-pc-steps span.is-active{background:var(--pxl-pc-primary,#111);color:var(--pxl-pc-primary-text,#fff);border-color:var(--pxl-pc-primary,#111);}
.pxl-pc-steps span.is-complete{background:var(--pxl-pc-success,#2f8f46);color:#fff;border-color:var(--pxl-pc-success,#2f8f46);}
.pxl-pc-section{padding:clamp(22px,3vw,34px);}
.pxl-pc-section h3{font-size:clamp(1.28rem,1.8vw,1.55rem);font-weight:600;letter-spacing:-.015em;margin:0 0 22px;}
.pxl-pc-section-head h3{margin-bottom:6px;}
.pxl-pc label{font-weight:500;margin:0;}
.pxl-pc label>span,.pxl-pc-choice-grid label>span{display:block;margin:0 0 9px;font-weight:650;line-height:1.2;color:var(--pxl-pc-title,#111);}
.pxl-pc input,.pxl-pc select,.pxl-pc textarea{min-height:56px;font-weight:500;font-size:1rem;line-height:1.2;}
.pxl-pc select{appearance:auto;}
.pxl-pc textarea{min-height:110px;line-height:1.45;}
.pxl-pc-grid{gap:18px 22px;}
.pxl-pc-grid-compact,.pxl-pc-choice-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));}
.pxl-pc-choice-grid label{display:flex;flex-direction:column;justify-content:flex-start;}
.pxl-pc-price{margin-top:18px;padding:18px 20px;border-radius:var(--pxl-pc-input-radius,10px);background:color-mix(in srgb,var(--pxl-pc-surface,#f8f5f0) 72%,#fff);font-size:1.08rem;}
.pxl-pc-summary-box{padding:18px 20px;border-radius:var(--pxl-pc-input-radius,10px);background:color-mix(in srgb,var(--pxl-pc-surface,#f8f5f0) 72%,#fff);}

@media (max-width: 760px){
  .pxl-pc-steps{grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;}
  .pxl-pc-steps span{min-width:0;width:44px;height:44px;padding:0;border-radius:999px;}
  .pxl-pc-steps span em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .pxl-pc-steps span:first-child,.pxl-pc-steps span:last-child{justify-self:center;}
  .pxl-pc-grid-compact,.pxl-pc-choice-grid{grid-template-columns:1fr;}
}

/* 0.2.0 beta - PXL Experience Booking generic frontend */
.pxl-pc-booking-header small{display:block;margin:0 0 8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.pxl-pc-booking-layout{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:24px;align-items:start}
.pxl-pc-booking-side{position:sticky;top:24px}
.pxl-pc-selected-experience h4{font-size:1.22rem;margin:.15rem 0 .65rem;color:var(--pxl-pc-title,#111)}
.pxl-pc-selected-experience p{margin:.4rem 0}
.pxl-pc-booking-box{display:grid;grid-template-columns:1.2fr .8fr;gap:18px 22px;align-items:start}
.pxl-pc-date-field{grid-column:1 / -1;position:relative}
.pxl-pc-date-toggle{width:100%;min-height:58px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-input-radius,10px);background:#fff;color:inherit;font:inherit;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:var(--pxl-pc-input-padding-y,13px) var(--pxl-pc-input-padding-x,14px);cursor:pointer;text-align:left}
.pxl-pc-date-toggle i{font-style:normal;font-size:.9rem;opacity:.72}
.pxl-pc-calendar-popover{grid-column:1 / -1;background:#fff;border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-radius,14px);padding:16px;box-shadow:0 18px 45px rgba(0,0,0,.08);margin-top:-6px}
.pxl-pc-datepicker-heads,.pxl-pc-datepicker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pxl-pc-datepicker-heads{margin:8px 0 6px}.pxl-pc-datepicker-heads div{text-align:center;font-weight:750;font-size:.82rem;opacity:.72}.pxl-pc-date-cell{min-height:72px;border:1px solid var(--pxl-pc-border,#ddd);border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:inherit;cursor:pointer}.pxl-pc-date-cell strong{font-size:1.1rem}.pxl-pc-date-cell span{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.pxl-pc-date-cell.is-available{background:color-mix(in srgb,var(--pxl-pc-available,#eef8f0) 74%,#fff);border-color:color-mix(in srgb,var(--pxl-pc-success,#0f7a3b) 35%,var(--pxl-pc-border,#ddd))}.pxl-pc-date-cell.is-held{background:var(--pxl-pc-held,#fff4d6)}.pxl-pc-date-cell.is-booked,.pxl-pc-date-cell.is-blocked{background:var(--pxl-pc-booked,#f2f2f2)}.pxl-pc-date-cell.is-empty,.pxl-pc-date-cell:disabled{background:#fafafa;color:rgba(0,0,0,.38);cursor:not-allowed}.pxl-pc-date-cell.is-out{opacity:.38}.pxl-pc-date-cell.is-today{box-shadow:0 0 0 2px var(--pxl-pc-primary,#111) inset}.pxl-pc-date-cell.is-selected{outline:3px solid var(--pxl-pc-primary,#111);outline-offset:1px}.pxl-pc-times-wrap{grid-column:1 / -1}.pxl-pc-times-wrap h4{font-size:1rem;margin:2px 0 10px}.pxl-pc-times{display:flex;flex-wrap:wrap;gap:10px}.pxl-pc-time-chip{border:1px solid var(--pxl-pc-border,#ddd);border-radius:999px;background:var(--pxl-pc-available,#eef8f0);padding:10px 14px;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:9px}.pxl-pc-time-chip strong{font-size:.98rem}.pxl-pc-time-chip span{font-size:.78rem;font-weight:750}.pxl-pc-time-chip.is-held{background:var(--pxl-pc-held,#fff4d6)}.pxl-pc-time-chip.is-booked,.pxl-pc-time-chip.is-blocked{background:var(--pxl-pc-booked,#f2f2f2)}.pxl-pc-time-chip:disabled{cursor:not-allowed;opacity:.7}.pxl-pc-time-chip.is-selected{outline:3px solid var(--pxl-pc-primary,#111);outline-offset:1px}.pxl-pc-secure{font-size:.92rem;opacity:.74;margin:12px 0 0}.pxl-pc-cards-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pxl-pc-exp-card{background:var(--pxl-pc-surface,#f8f5f0);border:1px solid var(--pxl-pc-border,#ddd);border-radius:var(--pxl-pc-radius,14px);padding:22px}.pxl-pc-exp-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--pxl-pc-primary,#111);color:var(--pxl-pc-primary-text,#fff);font-weight:750;font-size:.82rem}.pxl-pc-exp-card h3{margin:14px 0 8px}.pxl-pc-exp-subtitle{font-weight:650;opacity:.78}
@media(max-width:900px){.pxl-pc-booking-layout{grid-template-columns:1fr}.pxl-pc-booking-side{position:static}.pxl-pc-booking-box{grid-template-columns:1fr}.pxl-pc-cards-public{grid-template-columns:1fr}}
@media(max-width:620px){.pxl-pc-calendar-popover{padding:10px}.pxl-pc-datepicker-heads{display:none}.pxl-pc-datepicker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pxl-pc-date-cell.is-out{display:none}.pxl-pc-date-cell{min-height:64px}}
