:root{--uwt-primary:#0E5135;--uwt-primary-dark:#083B27;--uwt-accent:#E9B44C;--uwt-surface:#F3FBF7;--uwt-text:#10231B;--uwt-radius:18px}
.uwt-selector{font-family:inherit;color:var(--uwt-text);margin:22px 0}.uwt-selector *{box-sizing:border-box}.uwt-selector-heading{margin:0 0 14px}.uwt-selector-heading.compact{margin-top:22px}.uwt-selector-heading h3,.uwt-selector-heading h4{margin:3px 0 0;color:var(--uwt-text);line-height:1.2}.uwt-selector-heading h3{font-size:24px}.uwt-selector-heading h4{font-size:18px}.uwt-selector-heading p{margin:6px 0 0;color:#5c7468}.uwt-kicker{display:block;color:var(--uwt-primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.uwt-session-grid{display:grid;gap:10px}.uwt-session-card{appearance:none;width:100%;border:1px solid #d9e9e1;background:#fff;color:var(--uwt-text);border-radius:var(--uwt-radius);padding:12px;display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;text-align:left;cursor:pointer;transition:.18s ease;box-shadow:0 4px 14px rgba(11,65,43,.04)}.uwt-session-card:hover{transform:translateY(-1px);border-color:#95bca8;box-shadow:0 8px 22px rgba(11,65,43,.09)}.uwt-session-card.is-selected{border-color:var(--uwt-primary);background:var(--uwt-surface);box-shadow:0 0 0 2px rgba(14,81,53,.12)}.uwt-session-card.is-sold-out{opacity:.52;cursor:not-allowed}.uwt-session-date{width:58px;height:58px;border-radius:15px;background:var(--uwt-primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.uwt-session-date b{font-size:22px}.uwt-session-date small{text-transform:uppercase;font-size:10px;margin-top:4px;letter-spacing:.08em}.uwt-session-info{min-width:0;display:flex;flex-direction:column;gap:2px}.uwt-session-info strong{font-size:15px}.uwt-session-info>span{font-size:13px;color:inherit;opacity:.72}.uwt-location{opacity:.9!important;font-weight:600}.uwt-session-side{display:flex;align-items:center;gap:10px}.uwt-session-side em{font-size:11px;font-style:normal;font-weight:800;color:var(--uwt-primary);white-space:nowrap}.uwt-session-side i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#dcebe4;color:transparent;font-style:normal;font-weight:900}.uwt-session-card.is-selected .uwt-session-side i{background:var(--uwt-primary);color:#fff}.uwt-session-side .uwt-session-price{font-size:15px}
.uwt-ticket-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uwt-ticket-type{appearance:none;border:1px solid #d9e9e1;background:#fff;color:var(--uwt-text);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;transition:.18s ease}.uwt-ticket-type:hover{border-color:#95bca8}.uwt-ticket-type.is-selected{background:var(--uwt-primary);color:#fff;border-color:var(--uwt-primary)}.uwt-ticket-type span{display:flex;flex-direction:column}.uwt-ticket-type small{opacity:.7;margin-top:2px}.uwt-ticket-type b{white-space:nowrap}.uwt-empty{padding:18px;border:1px dashed #bed5c9;background:var(--uwt-surface);border-radius:var(--uwt-radius);color:#5b776a}
/* Visual seating */
.uwt-seating-wrap{margin-top:18px}.uwt-seating-board{display:grid;gap:14px}.uwt-seat-counter{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:8px 12px;border-radius:999px;background:var(--uwt-surface);color:var(--uwt-primary);font-size:12px;font-weight:700;border:1px solid #dcebe3}.uwt-seat-counter strong{font-size:14px}.uwt-seat-counter:after{content:" / " attr(data-needed);font-weight:900}.uwt-seating-canvas{border:1px solid #dcebe3;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fcfa);padding:16px;box-shadow:0 14px 34px rgba(8,59,39,.06)}.uwt-seating-stage{position:relative;min-height:430px;border-radius:18px;background:radial-gradient(circle at top left,#eff7f3 0%,#fdfefe 38%,#f6fbf8 100%);overflow:hidden;border:1px solid #e6f1eb}.uwt-seating-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(14,81,53,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(14,81,53,.045) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}.uwt-stage-label{position:absolute;right:16px;top:16px;padding:8px 12px;border-radius:999px;background:#ffffffd9;border:1px solid #e1ece6;font-size:12px;font-weight:800;color:var(--uwt-primary);z-index:8;backdrop-filter:blur(8px)}
.uwt-table-cluster{position:absolute;transform:translate(-50%,-50%);z-index:3;overflow:visible;transition:opacity .18s ease}.uwt-table-cluster.is-selected{z-index:7}.uwt-table-cluster.is-sold-out{opacity:.48}.uwt-table-node{position:absolute;inset:0;appearance:none;border:2px solid rgba(255,255,255,.82);background:linear-gradient(180deg,color-mix(in srgb,var(--table-color) 88%,white 12%),color-mix(in srgb,var(--table-color) 96%,black 4%));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:8px;box-shadow:0 18px 28px rgba(8,59,39,.18),inset 0 2px 10px rgba(255,255,255,.14);transition:.18s ease}.shape-rounded>.uwt-table-node{border-radius:22px}.shape-circle>.uwt-table-node{border-radius:999px}.shape-square>.uwt-table-node{border-radius:10px}.uwt-table-node:hover{transform:translateY(-2px)}.uwt-table-cluster.is-selected>.uwt-table-node{box-shadow:0 0 0 4px rgba(233,180,76,.42),0 18px 30px rgba(8,59,39,.25)}.uwt-table-node__name{font-weight:900;font-size:14px;line-height:1.1}.uwt-table-node small{font-size:11px;opacity:.94;margin-top:5px}
.uwt-seat-ring{position:absolute;inset:0;overflow:visible;pointer-events:none}.uwt-seat-dot{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);width:30px;height:30px;padding:0;border-radius:999px;border:2px solid #c7ddd2;background:#fff;color:var(--uwt-primary-dark);display:grid;place-items:center;font-weight:900;font-size:11px;cursor:pointer;pointer-events:auto;box-shadow:0 5px 12px rgba(8,59,39,.12);transition:.15s ease;z-index:10}.uwt-seat-dot:hover{transform:translate(-50%,-50%) scale(1.1);border-color:var(--uwt-primary)}.uwt-seat-dot.is-selected{background:var(--uwt-accent);border-color:#fff;color:#3a2b00;box-shadow:0 0 0 3px rgba(233,180,76,.35),0 6px 16px rgba(8,59,39,.18)}.uwt-seat-dot.is-sold-out{background:#aeb8b3;color:#fff;border-color:#eef2f0;cursor:not-allowed;box-shadow:none;opacity:.8}.uwt-seat-dot.is-sold-out:hover{transform:translate(-50%,-50%)}
.uwt-seating-legend{display:flex;flex-wrap:wrap;gap:14px;color:#5b7066;font-size:12px}.uwt-seating-legend span{display:inline-flex;align-items:center;gap:6px}.uwt-seating-legend i{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid #c7ddd2;background:#fff}.uwt-seating-legend i.selected{background:var(--uwt-accent);border-color:#fff;box-shadow:0 0 0 1px var(--uwt-accent)}.uwt-seating-legend i.occupied{background:#aeb8b3;border-color:#eef2f0}
.uwt-seating-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uwt-table-choice{appearance:none;border:1px solid #dcebe3;background:#fff;color:var(--uwt-text);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;transition:.18s ease}.uwt-table-choice:hover{border-color:#8fb7a3}.uwt-table-choice.is-selected{border-color:var(--uwt-primary);background:var(--uwt-surface);box-shadow:0 0 0 2px rgba(14,81,53,.09)}.uwt-table-choice.is-sold-out{opacity:.48;cursor:not-allowed}.uwt-table-choice span{display:flex;flex-direction:column}.uwt-table-choice small{color:#60756a;margin-top:3px}.uwt-table-choice b{font-size:12px;color:var(--uwt-primary);text-transform:uppercase;letter-spacing:.08em}
/* Tickets */
.uwt-order-tickets{margin:30px 0}.uwt-order-tickets-head span{color:var(--uwt-primary);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.13em}.uwt-order-tickets-head h2{margin:4px 0 14px}.uwt-order-ticket-grid{display:grid;gap:9px}.uwt-order-ticket{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dceae3;border-radius:16px;text-decoration:none!important;color:var(--uwt-text)!important;background:#fff}.uwt-order-ticket:hover{background:var(--uwt-surface)}.uwt-order-ticket-icon{width:38px;height:38px;border-radius:12px;background:var(--uwt-primary);color:#fff;display:grid;place-items:center;font-size:20px}.uwt-order-ticket>span:nth-child(2){flex:1;display:flex;flex-direction:column}.uwt-order-ticket small{opacity:.65}.uwt-elementor-placeholder{padding:18px;background:#fff8df;border:1px solid #eedba0;border-radius:12px}
@media(max-width:780px){.uwt-session-card{grid-template-columns:52px 1fr}.uwt-session-date{width:52px;height:52px}.uwt-session-side{grid-column:2;justify-content:space-between}.uwt-ticket-type-grid,.uwt-seating-list{grid-template-columns:1fr}.uwt-seating-stage{min-height:390px}.uwt-table-node__name{font-size:12px}.uwt-table-node small{font-size:9px}.uwt-seat-dot{width:27px;height:27px;font-size:10px}.uwt-seating-canvas{padding:10px}.uwt-stage-label{right:10px;top:10px}}
@media(max-width:480px){.uwt-seating-stage{min-height:360px}.uwt-seat-dot{width:24px;height:24px;font-size:9px}.uwt-table-node{padding:5px}.uwt-table-node__name{font-size:11px}}
.uwt-seat-pickers{display:grid;gap:10px}.uwt-seat-picker{padding:14px;border:1px solid #dcebe3;border-radius:18px;background:#fff}.uwt-seat-picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.uwt-seat-picker-head strong{font-size:15px;color:var(--uwt-primary-dark)}.uwt-seat-picker-head span{font-size:12px;color:#6b7e74}.uwt-seat-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.uwt-seat-chip{appearance:none;border:1px solid #d6e5de;background:#f8fbf9;color:var(--uwt-primary-dark);border-radius:12px;padding:8px 10px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:.15s ease}.uwt-seat-chip b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #cfe0d7}.uwt-seat-chip span{font-size:12px}.uwt-seat-chip:hover{border-color:var(--uwt-primary)}.uwt-seat-chip.is-selected{background:color-mix(in srgb,var(--uwt-accent) 24%,white);border-color:var(--uwt-accent)}.uwt-seat-chip.is-selected b{background:var(--uwt-accent);border-color:var(--uwt-accent);color:#3a2b00}.uwt-seat-chip.is-sold-out{opacity:.45;cursor:not-allowed;background:#eef1ef}.uwt-seat-chip.is-sold-out b{background:#aeb8b3;color:#fff;border-color:#aeb8b3}
@media(max-width:600px){.uwt-seat-picker-head{align-items:flex-start;flex-direction:column}.uwt-seat-chip{padding:7px 9px}}

/* Theme-proof workshop controls */
.uwt-selector button.uwt-session-card,
.uwt-selector button.uwt-ticket-type,
.uwt-selector button.uwt-table-choice,
.uwt-selector button.uwt-seat-chip,
.uwt-selector button.uwt-seat-dot,
.uwt-selector button.uwt-reserve-full-table{
    font-family:inherit!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    text-decoration:none!important;
    line-height:1.2!important;
    margin:0!important;
}
.uwt-selector button.uwt-seat-dot{
    background:#fff!important;
    color:var(--uwt-primary-dark)!important;
    border:2px solid #c7ddd2!important;
    padding:0!important;
}
.uwt-selector button.uwt-seat-dot.is-selected{
    background:var(--uwt-primary)!important;
    color:#fff!important;
    border-color:#fff!important;
    box-shadow:0 0 0 3px rgba(14,81,53,.18),0 6px 16px rgba(8,59,39,.18)!important;
}
.uwt-selector button.uwt-seat-dot.is-sold-out{
    background:#aeb8b3!important;
    color:#fff!important;
    border-color:#eef2f0!important;
}
.uwt-selector .uwt-seat-chip{
    min-height:44px!important;
    background:#fff!important;
    color:var(--uwt-text)!important;
    border:1px solid #d6e5de!important;
    border-radius:14px!important;
    padding:9px 12px!important;
    box-shadow:0 3px 10px rgba(8,59,39,.04)!important;
}
.uwt-selector .uwt-seat-chip:hover{
    background:var(--uwt-surface)!important;
    border-color:var(--uwt-primary)!important;
}
.uwt-selector .uwt-seat-chip b{
    background:#f4faf7!important;
    color:var(--uwt-primary-dark)!important;
    border:1px solid #cfe0d7!important;
}
.uwt-selector .uwt-seat-chip.is-selected{
    background:var(--uwt-surface)!important;
    border-color:var(--uwt-primary)!important;
    box-shadow:0 0 0 2px rgba(14,81,53,.08)!important;
}
.uwt-selector .uwt-seat-chip.is-selected b{
    background:var(--uwt-primary)!important;
    border-color:var(--uwt-primary)!important;
    color:#fff!important;
}
.uwt-selector .uwt-seat-chip.is-sold-out{
    background:#f0f3f1!important;
    border-color:#e2e8e5!important;
    color:#7e8d86!important;
    box-shadow:none!important;
}
.uwt-selector .uwt-seat-chip.is-sold-out b{
    background:#aeb8b3!important;
    color:#fff!important;
    border-color:#aeb8b3!important;
}
.uwt-selector .uwt-table-choice{
    background:#fff!important;
    color:var(--uwt-text)!important;
    border:1px solid #dcebe3!important;
    border-radius:16px!important;
    padding:14px 16px!important;
    box-shadow:0 4px 14px rgba(8,59,39,.04)!important;
}
.uwt-selector .uwt-table-choice:hover,
.uwt-selector .uwt-table-choice.is-selected{
    background:var(--uwt-surface)!important;
    border-color:var(--uwt-primary)!important;
}
.uwt-selector .uwt-table-choice b{
    color:var(--uwt-primary)!important;
    background:transparent!important;
}
.uwt-seat-picker{
    padding:18px!important;
    border:1px solid #dcebe3!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 10px 26px rgba(8,59,39,.05)!important;
}
.uwt-seat-picker-head>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.uwt-selector .uwt-reserve-full-table{
    appearance:none!important;
    border:1px solid var(--uwt-primary)!important;
    background:var(--uwt-primary)!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:10px 14px!important;
    min-height:40px!important;
    font-size:12px!important;
    font-weight:800!important;
    cursor:pointer!important;
    box-shadow:0 5px 14px rgba(14,81,53,.14)!important;
    white-space:nowrap;
}
.uwt-selector .uwt-reserve-full-table:hover{
    background:var(--uwt-primary-dark)!important;
    border-color:var(--uwt-primary-dark)!important;
    transform:translateY(-1px);
}
.uwt-selector .uwt-reserve-full-table.is-selected{
    background:var(--uwt-primary-dark)!important;
    box-shadow:0 0 0 3px rgba(14,81,53,.12)!important;
}
.uwt-selector .uwt-reserve-full-table:disabled{
    background:#eef2f0!important;
    border-color:#dde5e1!important;
    color:#8a9891!important;
    cursor:not-allowed!important;
    box-shadow:none!important;
    transform:none!important;
}
.uwt-seat-counter{
    background:#fff!important;
    border-color:#dcebe3!important;
    box-shadow:0 3px 10px rgba(8,59,39,.04);
}

/* WooCommerce quantity and add-to-cart styling only for UWT products */
form.cart.uwt-workshop-cart-form{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
}
form.cart.uwt-workshop-cart-form .uwt-selector{
    flex:0 0 100%!important;
    width:100%!important;
}
form.cart.uwt-workshop-cart-form .quantity{
    float:none!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
}
form.cart.uwt-workshop-cart-form .quantity .qty{
    width:72px!important;
    min-width:72px!important;
    height:46px!important;
    min-height:46px!important;
    padding:8px 10px!important;
    border:1px solid #cfe0d7!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--uwt-text)!important;
    box-shadow:none!important;
    font-size:16px!important;
    font-weight:800!important;
    text-align:center!important;
}
form.cart.uwt-workshop-cart-form .single_add_to_cart_button{
    float:none!important;
    min-height:46px!important;
    padding:11px 20px!important;
    border:1px solid var(--uwt-primary)!important;
    border-radius:12px!important;
    background:var(--uwt-primary)!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    box-shadow:0 6px 16px rgba(14,81,53,.16)!important;
}
form.cart.uwt-workshop-cart-form .single_add_to_cart_button:hover{
    background:var(--uwt-primary-dark)!important;
    border-color:var(--uwt-primary-dark)!important;
    color:#fff!important;
}

@media(max-width:600px){
    .uwt-seat-picker-head{gap:10px!important;}
    .uwt-selector .uwt-reserve-full-table{width:100%!important;white-space:normal;}
    .uwt-seat-chip-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .uwt-selector .uwt-seat-chip{width:100%!important;justify-content:flex-start!important;}
    form.cart.uwt-workshop-cart-form .quantity .qty{width:64px!important;min-width:64px!important;}
}
.uwt-session-end{font-weight:700;color:var(--uwt-primary)!important;opacity:.9!important}

/* Interactive seating zoom */
.uwt-seating-stage{touch-action:pan-y;cursor:default}
.uwt-seating-stage.is-zoomed{touch-action:none;cursor:grab}
.uwt-seating-stage.is-panning{cursor:grabbing;user-select:none;-webkit-user-select:none}
.uwt-seating-world{position:absolute;inset:0;transform-origin:0 0;will-change:transform;transition:transform .16s ease}
.uwt-seating-stage.is-panning .uwt-seating-world{transition:none}
.uwt-zoom-controls{position:absolute;left:14px;top:14px;z-index:30;display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid #dcebe3;box-shadow:0 8px 22px rgba(8,59,39,.10);backdrop-filter:blur(10px)}
.uwt-selector .uwt-zoom-btn{appearance:none!important;margin:0!important;border:1px solid #d7e6df!important;background:#fff!important;color:var(--uwt-primary-dark)!important;border-radius:10px!important;min-width:38px!important;height:38px!important;padding:0 10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:inherit!important;font-size:18px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important}
.uwt-selector .uwt-zoom-reset{min-width:62px!important;font-size:12px!important}
.uwt-selector .uwt-zoom-btn:hover{background:var(--uwt-surface)!important;border-color:var(--uwt-primary)!important;color:var(--uwt-primary)!important}
.uwt-selector .uwt-zoom-btn:disabled{opacity:.42!important;cursor:not-allowed!important;background:#f5f7f6!important;border-color:#e3e9e6!important}
@media(max-width:780px){.uwt-zoom-controls{left:10px;top:10px;gap:4px;padding:5px}.uwt-selector .uwt-zoom-btn{min-width:36px!important;height:36px!important;padding:0 8px!important}.uwt-selector .uwt-zoom-reset{min-width:56px!important}.uwt-stage-label{top:58px}}

/* Activity-specific forms */
.uwt-activity-intro,.uwt-activity-fields{margin:0 0 20px;padding:18px;border:1px solid #dcebe3;border-radius:var(--uwt-radius);background:#fff;box-shadow:0 8px 24px rgba(8,59,39,.05)}
.uwt-activity-intro p{margin:8px 0 0;color:var(--uwt-text);line-height:1.6}
.uwt-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.uwt-field{display:flex;flex-direction:column;gap:7px;color:var(--uwt-text);font-size:13px;font-weight:700}
.uwt-field-wide{grid-column:1/-1}
.uwt-selector .uwt-field input,.uwt-selector .uwt-field select,.uwt-selector .uwt-field textarea{width:100%!important;min-height:46px!important;margin:0!important;padding:10px 12px!important;border:1px solid #cfe0d7!important;border-radius:12px!important;background:#fff!important;color:var(--uwt-text)!important;font:inherit!important;box-shadow:none!important;outline:none!important}
.uwt-selector .uwt-field textarea{min-height:88px!important;resize:vertical}
.uwt-selector .uwt-field input:focus,.uwt-selector .uwt-field select:focus,.uwt-selector .uwt-field textarea:focus{border-color:var(--uwt-primary)!important;box-shadow:0 0 0 3px rgba(14,81,53,.08)!important}
.uwt-package-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.uwt-package-card{position:relative;display:block;cursor:pointer}
.uwt-package-card>input{position:absolute;opacity:0;pointer-events:none}
.uwt-package-card>span{display:flex;min-height:110px;flex-direction:column;gap:6px;padding:16px;border:2px solid #dcebe3;border-radius:16px;background:#fff;transition:.18s ease}
.uwt-package-card strong{font-size:15px;color:var(--uwt-text)}
.uwt-package-card small{color:#66796f;line-height:1.4}
.uwt-package-card b{margin-top:auto;color:var(--uwt-primary);font-size:16px}
.uwt-package-card>input:checked+span{border-color:var(--uwt-primary);background:var(--uwt-surface);box-shadow:0 0 0 3px rgba(14,81,53,.08)}
.uwt-consent{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--uwt-surface);color:var(--uwt-text);font-size:13px;line-height:1.45}
.uwt-consent input{margin-top:3px!important;flex:0 0 auto}
@media(max-width:680px){.uwt-form-grid,.uwt-package-choice{grid-template-columns:1fr}.uwt-activity-intro,.uwt-activity-fields{padding:14px}}

/* Gourmet grouped booking */
.uwt-guest-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.uwt-guest-count{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #dcebe3;border-radius:14px;background:var(--uwt-surface)}
.uwt-guest-count>span{display:flex;flex-direction:column;gap:3px}.uwt-guest-count strong{font-size:15px;color:var(--uwt-text)}.uwt-guest-count small{font-weight:800;color:var(--uwt-primary)}
.uwt-selector .uwt-guest-count input{width:82px!important;min-height:44px!important;margin:0!important;padding:8px 10px!important;border:1px solid #cfe0d7!important;border-radius:11px!important;background:#fff!important;color:var(--uwt-text)!important;text-align:center!important;font:inherit!important;font-size:16px!important;font-weight:800!important}
.uwt-gourmet-summary{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--uwt-primary);color:#fff}.uwt-gourmet-summary strong{font-size:20px}
/* Override the more specific base quantity display rule, including Elementor forms.
   Only automatically managed quantities are hidden; guest inputs stay editable. */
form.cart.uwt-workshop-cart-form.uwt-gourmet-cart-form .quantity,
form.cart.uwt-workshop-cart-form.uwt-hour-package-cart-form .quantity,
form.cart.uwt-workshop-cart-form input.uwt-managed-quantity{
    display:none!important;
}
@media(max-width:680px){.uwt-guest-count-grid{grid-template-columns:1fr}}
.uwt-locked-qty{display:inline-flex;min-width:42px;min-height:38px;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #dcebe3;border-radius:10px;background:var(--uwt-surface);font-weight:900;color:var(--uwt-text)}

/* v1.6.0 — session-first pricing */
.uwt-selector [hidden]{display:none!important}
.uwt-selector .uwt-ticket-types-wrap{margin-top:18px}
.uwt-selector .uwt-ticket-session-panel{margin-top:10px}
.uwt-selector button.uwt-ticket-type{
    background:#fff!important;
    color:var(--uwt-text)!important;
    border:1px solid #d9e9e1!important;
    opacity:1!important;
    box-shadow:0 4px 14px rgba(8,59,39,.04)!important;
}
.uwt-selector button.uwt-ticket-type:hover{
    background:#f8fcfa!important;
    color:var(--uwt-text)!important;
    border-color:var(--uwt-primary)!important;
}
.uwt-selector button.uwt-ticket-type.is-selected{
    background:var(--uwt-primary)!important;
    color:#fff!important;
    border-color:var(--uwt-primary)!important;
    box-shadow:0 0 0 3px rgba(14,81,53,.12)!important;
}
.uwt-selector button.uwt-ticket-type.is-selected strong,
.uwt-selector button.uwt-ticket-type.is-selected small,
.uwt-selector button.uwt-ticket-type.is-selected b{color:inherit!important}
.uwt-selector .uwt-no-ticket-types{margin-top:8px}

/* Party-size table filtering */
.uwt-table-cluster.uwt-party-ineligible,
.uwt-table-choice.uwt-party-ineligible{
    display:none!important;
}
.uwt-seating-status{
    margin:0 0 14px;
    padding:14px 16px;
    border:1px solid #d9e3de;
    border-radius:14px;
    background:#f5f7f6;
    color:#24362d;
    font-weight:700;
}
.uwt-seating-status[hidden]{display:none!important;}
.uwt-product-sold-out{
    font-weight:700;
}
.uwt-selector.is-fully-sold-out .uwt-ticket-types-wrap,
.uwt-selector.is-fully-sold-out .uwt-seating-wrap{
    display:none!important;
}

/* Interactive-map-only table selection */
.uwt-selector.uwt-private-mode .uwt-seat-dot:not(.is-sold-out){cursor:default;}
.uwt-selector.uwt-private-mode .uwt-table-node:not(:disabled){cursor:pointer;}
.uwt-selector.uwt-shared-mode .uwt-table-node:not(:disabled){cursor:pointer;}


/* Clear visual confirmation for a selected private table */
.uwt-private-selected-badge{
    display:none;
    position:absolute;
    left:50%;
    top:-48px;
    transform:translateX(-50%);
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:var(--uwt-primary);
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 8px 20px rgba(8,59,39,.24);
    pointer-events:none;
    z-index:30;
}
.uwt-private-selected-badge b{
    width:18px;
    height:18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--uwt-primary);
    font-size:12px;
    line-height:1;
}
.uwt-selector.uwt-private-mode .uwt-table-cluster.is-selected .uwt-private-selected-badge{display:flex;}
.uwt-selector.uwt-private-mode .uwt-table-cluster.is-selected>.uwt-table-node{
    border-color:#fff;
    box-shadow:0 0 0 5px rgba(233,180,76,.58),0 18px 30px rgba(8,59,39,.28);
}

/* v1.6.7 — validated step-by-step reservation flow */
.uwt-wizard-shell{display:grid;gap:18px;width:100%;margin:8px 0 18px}.uwt-wizard-progress{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.uwt-wizard-progress-item{position:relative;display:flex;flex:1 0 112px;min-width:112px;align-items:center;gap:8px;color:#7a8982;font-size:12px;font-weight:700}.uwt-wizard-progress-item:not(:last-child):after{content:"";position:absolute;left:34px;right:8px;top:15px;height:2px;background:#dbe6e0;z-index:0}.uwt-wizard-progress-item b{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#eef4f1;color:#60736a;border:1px solid #d7e4de}.uwt-wizard-progress-item span{position:relative;z-index:1;background:#fff;padding-right:7px}.uwt-wizard-progress-item.is-current{color:var(--uwt-primary)}.uwt-wizard-progress-item.is-current b{background:var(--uwt-primary);border-color:var(--uwt-primary);color:#fff}.uwt-wizard-progress-item.is-complete b{background:var(--uwt-primary);border-color:var(--uwt-primary);color:#fff}.uwt-wizard-progress-item.is-complete:not(:last-child):after{background:var(--uwt-primary)}.uwt-wizard-mobile-progress{display:none}.uwt-wizard-body{min-width:0}.uwt-wizard-step{animation:uwtWizardIn .18s ease}.uwt-wizard-step[hidden]{display:none!important}.uwt-wizard-step>.uwt-activity-fields:first-child,.uwt-wizard-step>.uwt-selector-heading:first-child{margin-top:0}.uwt-wizard-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.uwt-wizard-prev,.uwt-wizard-next{appearance:none;border-radius:12px;padding:12px 20px;font-weight:800;cursor:pointer;min-height:44px}.uwt-wizard-prev{background:#fff;color:var(--uwt-primary);border:1px solid #cfded7}.uwt-wizard-next{margin-left:auto;background:var(--uwt-primary);color:#fff;border:1px solid var(--uwt-primary)}.uwt-wizard-prev:hover{background:var(--uwt-surface)}.uwt-wizard-next:hover{background:var(--uwt-primary-dark);border-color:var(--uwt-primary-dark)}.uwt-wizard-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff3f0;border:1px solid #f1c5bb;color:#8b3327;font-size:13px;font-weight:700}.uwt-wizard-error[hidden]{display:none!important}form.cart.uwt-workshop-cart-form.uwt-wizard-cart .single_add_to_cart_button,.elementor-widget form.cart.uwt-workshop-cart-form.uwt-wizard-cart .single_add_to_cart_button{display:none!important}@keyframes uwtWizardIn{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:780px){.uwt-wizard-shell{gap:14px}.uwt-wizard-progress{display:none}.uwt-wizard-mobile-progress{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--uwt-surface);border:1px solid #dce8e2}.uwt-wizard-mobile-progress strong{font-size:12px;color:var(--uwt-primary);text-transform:uppercase;letter-spacing:.05em}.uwt-wizard-mobile-progress span{font-size:16px;font-weight:800;color:var(--uwt-text)}.uwt-wizard-actions{position:sticky;bottom:8px;z-index:80;background:rgba(255,255,255,.96);padding:10px;border:1px solid #dfe8e3;border-radius:14px;box-shadow:0 10px 28px rgba(16,35,27,.12)}.uwt-wizard-prev,.uwt-wizard-next{flex:1;padding:12px 14px}.uwt-wizard-next{margin-left:0}}


/* Gift Cards and My Account */
.uwt-gift-validity{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.uwt-gift-validity span{display:flex;flex-direction:column;gap:3px;padding:12px 16px;border:1px solid #dce9e2;border-radius:14px;background:var(--uwt-surface,#f3fbf7)}
.uwt-my-workshops{margin:0 0 32px}.uwt-account-order{margin:20px 0 30px}.uwt-account-ticket-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:center;padding:20px;border:1px solid #dce9e2;border-radius:18px;background:#fff}.uwt-account-ticket-info{display:flex;flex-direction:column;gap:7px}.uwt-account-ticket-info>strong{font-size:18px}.uwt-account-ticket-info>small{opacity:.65}.uwt-account-ticket-info p{margin:0}.uwt-account-ticket-state{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:#eaf7ef;color:#1d6a3c;font-weight:700;font-size:12px}.uwt-account-ticket-state.state-expired,.uwt-account-ticket-state.state-error,.uwt-account-ticket-state.state-used{background:#ffefec;color:#9c2f22}.uwt-account-ticket-state.state-early{background:#fff8df;color:#7c5b00}.uwt-account-ticket-qr svg{width:100%;height:auto}.uwt-account-ticket-card .button{width:max-content}@media(max-width:600px){.uwt-account-ticket-card{grid-template-columns:1fr}.uwt-account-ticket-qr{max-width:180px}}

/* The final wizard action proxies the original WooCommerce button. */
.uwt-wizard-actions .uwt-wizard-prev[hidden]{display:none!important}
.uwt-wizard-actions .uwt-wizard-next:disabled,.uwt-wizard-actions .uwt-wizard-prev:disabled{cursor:wait;opacity:.7}

/* v1.7.4 — scoped Elementor styling and visible step numbering. */
.uwt-wizard-progress-item.is-last-visible:after{display:none}
.uwt-session-check{flex-shrink:0}
.uwt-session-info .uwt-session-end{align-self:flex-start;max-width:100%;overflow-wrap:anywhere}
.uwt-session-availability{max-width:100%}
/* The date circle and its grid column must grow together. */
.uwt-session-card{grid-template-columns:var(--uwt-session-date-size,58px) minmax(0,1fr) auto}
.uwt-session-date{width:var(--uwt-session-date-size,58px);height:var(--uwt-session-date-size,58px)}
.uwt-selector .uwt-field,.uwt-guest-count,.uwt-guest-count>span{min-width:0}
.uwt-guest-count>span,.uwt-field>span{overflow-wrap:anywhere}
.uwt-selector .uwt-guest-count input{min-width:0;max-width:100%;flex-shrink:0}
@media(max-width:780px){
    .uwt-session-card{grid-template-columns:var(--uwt-session-date-size,52px) minmax(0,1fr)}
    .uwt-session-date{width:var(--uwt-session-date-size,52px);height:var(--uwt-session-date-size,52px)}
    .uwt-session-side{min-width:0;flex-wrap:wrap}
}

/* v1.7.5 — integrated WooCommerce variations and quantity inside the UWT wizard. */
.uwt-product-options{display:grid;gap:16px}
.uwt-variation-groups{display:grid;gap:16px}
.uwt-variation-group{min-width:0;margin:0;padding:0;border:0}
.uwt-variation-group legend{display:block;width:100%;margin:0 0 9px;padding:0;color:var(--uwt-text);font-size:14px;font-weight:850}
.uwt-variation-group legend span{color:var(--uwt-primary)}
.uwt-variation-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.uwt-variation-choice{position:relative;display:block;min-width:0;cursor:pointer}
.uwt-variation-choice input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.uwt-variation-choice>span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #d6e5de;border-radius:13px;background:#fff;color:var(--uwt-text);font-size:14px;font-weight:800;text-align:center;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.uwt-variation-choice:hover>span{border-color:var(--uwt-primary);background:var(--uwt-surface)}
.uwt-variation-choice.is-selected>span,.uwt-variation-choice input:checked+span{border-color:#E5F7F8;background:#E5F7F8;color:var(--uwt-text);box-shadow:0 7px 18px rgba(229,247,248,.45)}
.uwt-variation-choice.is-disabled{cursor:not-allowed;opacity:.42}
.uwt-variation-choice.is-disabled>span{background:#f3f5f4;border-color:#e1e7e4;box-shadow:none}
.uwt-variation-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dce9e2;border-radius:13px;background:var(--uwt-surface)}
.uwt-variation-summary .price,.uwt-variation-price{margin:0!important;color:var(--uwt-primary)!important;font-size:17px!important;font-weight:900!important}
.uwt-variation-availability{font-size:12px;font-weight:750;color:#60736a}
.uwt-variation-availability p{margin:0}
.uwt-integrated-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:2px}
.uwt-integrated-quantity-label{color:var(--uwt-text);font-size:14px;font-weight:850}
.uwt-quantity-control{display:grid;grid-template-columns:44px minmax(62px,76px) 44px;align-items:stretch;border:1px solid #cfe0d7;border-radius:13px;background:#fff;overflow:hidden}
.uwt-selector .uwt-quantity-control button{appearance:none!important;width:44px!important;min-width:44px!important;height:46px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--uwt-primary-dark)!important;font-size:22px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important}
.uwt-selector .uwt-quantity-control button:hover{background:var(--uwt-surface)!important;color:var(--uwt-primary)!important}
.uwt-selector .uwt-integrated-qty{width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;margin:0!important;padding:7px!important;border:0!important;border-left:1px solid #e0e9e4!important;border-right:1px solid #e0e9e4!important;border-radius:0!important;background:#fff!important;color:var(--uwt-text)!important;font:inherit!important;font-size:16px!important;font-weight:900!important;text-align:center!important;box-shadow:none!important;-moz-appearance:textfield}
.uwt-selector .uwt-integrated-qty::-webkit-outer-spin-button,.uwt-selector .uwt-integrated-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Keep WooCommerce's real variation fields in the DOM for validation and cart submission, but remove the duplicate Elementor/WooCommerce UI. */
form.cart.uwt-workshop-cart-form.uwt-has-integrated-options table.variations,
form.cart.uwt-workshop-cart-form.uwt-has-integrated-options .variations,
form.cart.uwt-workshop-cart-form.uwt-has-integrated-options .reset_variations,
form.cart.uwt-workshop-cart-form.uwt-has-integrated-options .woocommerce-variation,
form.cart.uwt-workshop-cart-form.uwt-has-integrated-options .quantity{
    display:none!important;
}
@media(max-width:600px){
    .uwt-variation-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .uwt-integrated-quantity{align-items:flex-start;flex-direction:column;gap:9px}
    .uwt-quantity-control{width:100%;grid-template-columns:48px 1fr 48px}
    .uwt-selector .uwt-quantity-control button{width:48px!important;min-width:48px!important}
}


/* v1.7.6 — hide WooCommerce/Elementor's duplicate variation UI only on active UWT workshop products.
   The native fields stay in the DOM so WooCommerce variation matching and cart submission keep working. */
body.uwt-variable-workshop-product form.cart.variations_form table.variations,
body.uwt-variable-workshop-product form.cart.variations_form .variations,
body.uwt-variable-workshop-product form.cart.variations_form .reset_variations,
body.uwt-variable-workshop-product form.cart.variations_form .single_variation .woocommerce-variation-description,
body.uwt-variable-workshop-product form.cart.variations_form .single_variation .woocommerce-variation-price,
body.uwt-variable-workshop-product form.cart.variations_form .single_variation .woocommerce-variation-availability,
body.uwt-variable-workshop-product form.cart.uwt-has-integrated-options .quantity {
    display:none!important;
}

/* Elementor sometimes wraps the variation table outside the exact form structure WooCommerce uses.
   These selectors are intentionally scoped to a UWT variable-product page. */
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart table.variations,
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart .variations,
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart .reset_variations,
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-description,
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price,
body.uwt-variable-workshop-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-availability {
    display:none!important;
}

/* Multi-date selection hint */
.uwt-multi-hint{margin:10px 0 14px;font-size:14px;opacity:.85}
