/* Explicit component scopes outrank the retained CBC reset and WordPress admin styles. */
#cbc-app-root .cbc-booking-intro{max-width:860px;padding-block:32px 12px}
#cbc-app-root .cbc-booking-intro h1{font-size:clamp(32px,5vw,56px);line-height:1.12;color:#ffe5bd;margin:14px 0 18px;letter-spacing:-.035em}
#cbc-app-root .cbc-booking-intro .cbc-prose{font-size:17px;line-height:1.75;color:#cfdbd6}
#cbc-app-root .cbc-cup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));align-items:stretch;gap:24px;margin:24px 0 56px}
#cbc-app-root .cbc-cup-card{min-width:0;position:relative;display:flex;flex-direction:column;gap:0;padding:28px;border:1px solid #e4c09238;border-radius:22px;background:linear-gradient(155deg,#234148,#172d35 66%);box-shadow:0 16px 40px #0002;overflow:hidden}
#cbc-app-root .cbc-cup-card::before{content:'';position:absolute;left:28px;right:28px;top:0;height:3px;background:linear-gradient(90deg,#ffbf78,#ffe0a8);border-radius:0 0 4px 4px}
#cbc-app-root .cbc-cup-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
#cbc-app-root .cbc-cup-card-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:#ffca8118;color:#ffca81;border:1px solid #ffca8133}
#cbc-app-root .cbc-cup-open{display:inline-flex;align-items:center;gap:6px;border:1px solid #93d5b642;color:#bde9ca;background:#89caa512;border-radius:30px;padding:6px 10px;font-size:11px;line-height:1.35;font-weight:700}
#cbc-app-root .cbc-cup-open.is-preview{border-color:#d8bd8055;color:#edd2a4;background:#d8bd8010}
#cbc-app-root .cbc-cup-card h2{font-size:clamp(24px,2.5vw,30px);font-weight:750;line-height:1.15;letter-spacing:-.025em;color:#fff0d9;margin:0 0 14px;text-wrap:balance}
#cbc-app-root .cbc-cup-dates{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#e8c79f;font-size:13px;line-height:1.5;margin:0 0 15px}
#cbc-app-root .cbc-cup-description{color:#ccd8d4;font-size:14px;line-height:1.7;margin:0 0 20px;white-space:pre-line}
#cbc-app-root .cbc-cup-capacity{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;padding:16px;background:#081c253d;border:1px solid #e0bf8e26;border-radius:14px;margin:0 0 20px}
#cbc-app-root .cbc-cup-capacity>div:not(.cbc-cup-waiting){display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 7px;color:#b8d1ca;font-size:12px}
#cbc-app-root .cbc-cup-capacity strong{color:#ffe2b8;font-size:26px;font-weight:750;line-height:1.1}
#cbc-app-root .cbc-cup-capacity svg{align-self:center;flex-shrink:0;color:#d9b888}
#cbc-app-root .cbc-cup-waiting{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid #dae3d01c;font-size:12px;line-height:1.5;color:#b9cdc6}
#cbc-app-root .cbc-cup-capacity-note{display:flex;align-items:center;gap:8px;font-size:13px;color:#b9cdc6;margin-bottom:20px}
#cbc-app-root .cbc-cup-prices{display:grid;gap:12px;margin:0 0 22px;min-width:0}
#cbc-app-root .cbc-cup-prices .cbc-early-bird{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #f8c67550;border-radius:12px;background:#e7b15b12;color:#ffdc9e}
#cbc-app-root .cbc-early-bird>span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:750}
#cbc-app-root .cbc-early-bird small{font-size:11px;color:#dec7a5;line-height:1.5;padding-left:24px}
#cbc-app-root .cbc-cup-prices .cbc-duration-prices{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#cbc-app-root .cbc-duration-price{display:grid;gap:6px;padding:15px 16px;background:#ffffff05;border:1px solid #d4d7bd22;border-radius:12px;min-width:0}
#cbc-app-root .cbc-duration-price>span:first-child{font-size:11px;line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:#bed0c9;font-weight:650}
#cbc-app-root .cbc-price-amount{font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.2;letter-spacing:-.035em;color:#ffe0b0;font-variant-numeric:tabular-nums;white-space:nowrap}
#cbc-app-root .cbc-duration-price.is-offer{background:#ffb65d0a;border-color:#ffbd6550}
#cbc-app-root .cbc-duration-price.is-offer .cbc-price-amount{color:#ffd294}
#cbc-app-root .cbc-duration-price del,#cbc-app-root .cbc-duration-price small{grid-column:auto;font-size:11px;color:#aabfb8;line-height:1.5;opacity:1}
#cbc-app-root .cbc-duration-price .cbc-price-request{font-size:16px;color:#dae3dc;line-height:1.5}
#cbc-app-root .cbc-cup-prices .cbc-price-note{font-size:11px;line-height:1.6;color:#b8c9c2}
#cbc-app-root .cbc-cup-card .cbc-cup-register{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;margin-top:auto;min-height:50px;border:1px solid #ffcb89;border-radius:12px;background:#ffbb73;color:#182f33;font-size:13px;font-weight:800;text-decoration:none}
#cbc-app-root .cbc-cup-register:hover{background:#ffd198;box-shadow:0 5px 18px #0002}
#cbc-app-root .cbc-cup-card .cbc-cup-register svg{flex-shrink:0}
#cbc-app-root .cbc-booking-form>.cbc-cup-prices{margin-bottom:0}
#cbc-app-root .cbc-booking-form .cbc-duration-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
/* The home editor sits outside the public .cbc-app shell in WordPress. */
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor{max-width:none;margin:24px 0;padding:clamp(20px,3vw,36px);border:1px solid #c4d5c9;border-radius:20px;background:#f4f2e9;color:#1f3b36;font:15px/1.65 system-ui,sans-serif;box-shadow:0 10px 28px #102e2310}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor h2{font-size:27px;font-weight:800;color:#163f37;line-height:1.25;margin:0 0 10px}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor>p{font-size:14px;color:#547168;margin:0 0 24px}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor label{display:grid;gap:7px;margin:15px 0;font-size:13px;font-weight:650;color:#234e44;min-width:0}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor :is(input,textarea,select){box-sizing:border-box;display:block;width:100%;max-width:100%;padding:11px 13px;border:1px solid #b3c9bf;border-radius:9px;background:#fff;color:#183f35;font:400 14px/1.5 system-ui,sans-serif;box-shadow:0 1px 2px #152e2510;min-height:45px}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor textarea{min-height:90px;resize:vertical}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor input[type=checkbox]{appearance:auto;display:inline-block;width:19px;height:19px;min-height:0;accent-color:#236450;margin:0;box-shadow:none}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor label:has(input[type=checkbox]){display:flex;align-items:center;gap:9px}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor :is(input,select,textarea):focus-visible{outline:3px solid #b6d9c6;outline-offset:2px;border-color:#2e775c}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor fieldset{display:grid;gap:2px;min-width:0;margin:0;padding:22px;border:0;background:#fffdf7}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor legend{font-size:13px;font-weight:700;color:#547168;padding:0}
.cbc-wordpress-admin #cbc-app-root .cbc-home-button{border:1px solid #bdcfc3;border-radius:14px;overflow:hidden;margin:18px 0;background:#fffdf7}
.cbc-wordpress-admin #cbc-app-root .cbc-home-button summary{display:list-item;cursor:pointer;padding:18px 22px;font-size:16px;font-weight:750;color:#214c3e;background:#e8eee2}
.cbc-wordpress-admin #cbc-app-root .cbc-home-button summary small{display:block;margin:4px 0 0 18px;font-size:12px;font-weight:400;color:#5a7569;overflow-wrap:anywhere}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor .cbc-target-picker{display:grid;gap:0;padding:14px 16px;margin:12px 0;border:1px dashed #afc7b7;border-radius:12px;background:#edf4eb}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;margin:5px 8px 5px 0;border:1px solid #aac4b4;border-radius:9px;background:#e5ede0;color:#234f3f;font:700 13px/1.4 system-ui,sans-serif;cursor:pointer}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor .cbc-primary{background:#255c46;color:#fff;border-color:#255c46}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor button:disabled{opacity:.5;cursor:default}
.cbc-wordpress-admin #cbc-app-root .cbc-home-editor [role=status]{padding:12px 16px;margin:16px 0;background:#dcecd8;border-radius:10px;color:#254f36}
/* Portal UI has its own reset because it is intentionally outside the application root. */
.cbc-quick-ui .cbc-pencil{all:unset;box-sizing:border-box;position:fixed;z-index:100000;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:2px solid #fff5df;border-radius:50%;background:#ffbf78;color:#193337;cursor:pointer;box-shadow:0 3px 14px #0006;line-height:1;transform:none}
.cbc-quick-ui .cbc-pencil svg{display:block;flex:0 0 18px;width:18px;height:18px;margin:0;padding:0;stroke:currentColor;stroke-width:2;fill:none}
.cbc-quick-ui .cbc-pencil:focus-visible{outline:3px solid #ffca83;outline-offset:3px}
.cbc-quick-ui .cbc-edit-dialog{font:15px/1.6 system-ui,sans-serif;color:#fff1db}
.cbc-quick-ui .cbc-edit-dialog :is(input,textarea,select){font:14px/1.5 system-ui,sans-serif}
/* Imported original terms remain fully editable WordPress content. */
#cbc-app-root .cbc-terms-page{max-width:900px;margin:24px auto 60px;padding:clamp(24px,5vw,56px);border:1px solid #d7bc8b35;border-radius:24px;background:linear-gradient(145deg,#244149f2,#162d35f2);box-shadow:0 20px 50px #0002}
#cbc-app-root .cbc-terms-page h1{font-size:clamp(30px,5vw,50px);line-height:1.15;color:#ffe2b9;margin:0 0 24px;letter-spacing:-.035em}
#cbc-app-root .cbc-terms-page .cbc-prose{display:grid;gap:20px;white-space:normal;color:#dbe2da;font-size:15px;line-height:1.85}
#cbc-app-root .cbc-terms-page .cbc-prose>p:first-child{padding:20px;border-left:3px solid #edbd7e;border-radius:0 12px 12px 0;background:#efc5870a;color:#e7d9c1}
#cbc-app-root .cbc-terms-page .cbc-prose :is(ol,ul){list-style:revert;list-style-position:outside;padding-left:26px;margin:0}
#cbc-app-root .cbc-terms-page .cbc-prose ol>li{padding:20px 20px 20px 10px;border-bottom:1px solid #e2c59825}
#cbc-app-root .cbc-terms-page .cbc-prose li>strong:first-child{display:block;color:#ffd39a;font-size:19px;font-weight:750;margin:0 0 10px;line-height:1.5}
#cbc-app-root .cbc-terms-page .cbc-prose p{margin:0}
#cbc-app-root .cbc-terms-page .cbc-prose a{color:#ffd39a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#cbc-app-root .cbc-cup-grid{gap:18px;grid-template-columns:minmax(0,1fr)}#cbc-app-root .cbc-cup-card{padding:24px 20px}#cbc-app-root .cbc-booking-form .cbc-duration-prices{grid-template-columns:minmax(0,1fr)}.cbc-wordpress-admin #cbc-app-root .cbc-home-editor{padding:20px 16px}.cbc-wordpress-admin #cbc-app-root .cbc-home-editor fieldset{padding:16px}#cbc-app-root .cbc-terms-page{padding:24px 18px;border-radius:18px}#cbc-app-root .cbc-terms-page .cbc-prose ol>li{padding-right:0}}
