.ccp-root{--purple:#65298a;--header-start:#39174e;--header-end:#7f37a2;--surface:#faf8fd;--lesson:#e9dcf5;--extra:#f3deff;--focus:#ba80db;--light:#f2edf8;--ink:#282033;--line:#e3dceb;font:15px/1.5 system-ui,sans-serif;color:var(--ink);max-width:1180px;margin:24px auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}.ccp-root *{box-sizing:border-box}.ccp-root .ccp-header{padding:32px;background:linear-gradient(120deg,var(--header-start),var(--header-end));color:white}.ccp-root h1{font-size:30px;color:inherit;margin:8px 0}.ccp-root h2{font-size:22px;margin:0 0 12px}.ccp-root h3{font-size:17px;margin:0 0 10px}.ccp-root p{margin:8px 0 16px}.ccp-root .ccp-tag{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.ccp-root .ccp-content{padding:26px}.ccp-root .ccp-setup,.ccp-root .ccp-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ccp-root .ccp-columns{grid-template-columns:minmax(0,1fr) minmax(220px,290px);align-items:start}.ccp-root label{display:block;font-size:13px;font-weight:650}.ccp-root select{display:block;width:100%;margin:6px 0 12px;padding:11px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit}.ccp-root button{cursor:pointer;font:inherit;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);line-height:1.4}.ccp-root button:hover{border-color:var(--purple)}.ccp-root button:focus-visible,.ccp-root select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.ccp-root button:disabled{opacity:.45;cursor:not-allowed}.ccp-root .ccp-primary,.ccp-root button.ccp-active{background:var(--purple);color:white;border-color:var(--purple)}.ccp-root nav{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0}.ccp-root .ccp-panel{padding:20px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.ccp-root .ccp-note{font-size:13px;color:#65566e}.ccp-root .ccp-notice{padding:12px 15px;background:#fff6dd;border-radius:10px;font-size:13px;margin:16px 0}.ccp-root .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ccp-root .ccp-card{display:flex;flex-direction:column;gap:7px;text-align:left;min-height:108px}.ccp-root .ccp-card small{font-size:12px}.ccp-root .ccp-card strong{color:var(--purple)}.ccp-root .ccp-card.ccp-active strong{color:white}.ccp-root .ccp-row{display:flex;justify-content:space-between;gap:15px;align-items:center}.ccp-root .ccp-total{font-size:30px;font-weight:750;color:var(--purple)}.ccp-root .ccp-scroll{overflow:auto}.ccp-root table{border-collapse:collapse;width:100%;min-width:760px;font-size:12px;margin:12px 0}.ccp-root th,.ccp-root td{border:1px solid var(--line);padding:10px;vertical-align:top;min-width:95px}.ccp-root th{background:var(--purple);color:white;text-align:left}.ccp-root td.lesson{background:var(--lesson)}.ccp-root td.trip{background:#e3edc8}.ccp-root td.extra{background:var(--extra);font-weight:650}.ccp-root td.standard{background:#f0ece3}.ccp-root .ccp-footer{margin-top:18px;display:flex;gap:12px;justify-content:space-between}.ccp-root .ccp-badge{font-size:12px;color:var(--purple);background:var(--light);padding:4px 9px;border-radius:30px}.ccp-root .ccp-error{color:#992124}.ccp-root .summary-week{break-inside:avoid;margin-bottom:28px}.ccp-root .ccp-status{min-height:24px}.ccp-root .ccp-muted{color:#766c7c;font-size:12px}@media(max-width:760px){.ccp-root .ccp-content,.ccp-root .ccp-header{padding:18px}.ccp-root .ccp-setup,.ccp-root .ccp-columns{grid-template-columns:1fr}.ccp-root .cards{grid-template-columns:1fr 1fr}.ccp-root h1{font-size:24px}.ccp-root .ccp-footer{flex-wrap:wrap}}@media print{body *{visibility:hidden}.ccp-root,.ccp-root *{visibility:visible}.ccp-root{position:absolute;left:0;top:0;width:100%;border:0;font-size:11px}.ccp-root .no-print{display:none!important}.ccp-root .ccp-content{padding:0}.ccp-root .ccp-scroll{overflow:visible}.ccp-root table{min-width:0;font-size:9px}.ccp-root td,.ccp-root th{min-width:0;padding:5px}.ccp-root .ccp-header{padding:12px;color:#321541;background:white}.ccp-root h1{font-size:20px}}

.ccp-root[data-program="summer"]{--purple:#087f83;--header-start:#07575e;--header-end:#139da0;--light:#e1f5f3;--line:#c9e4e2;--surface:#f4fbfa;--lesson:#dff2f0;--extra:#bce9e5;--focus:#21a5aa}
.ccp-root .programme-setup{display:flex;flex-direction:column;gap:24px}
.ccp-root .choice-group{border:0;padding:0;margin:0;min-width:0}
.ccp-root .choice-group legend{padding:0;margin-bottom:10px;font-size:14px;font-weight:650;color:var(--ink)}
.ccp-root .choice-buttons{display:flex;flex-wrap:wrap;gap:10px}
.ccp-root .choice-buttons button{min-height:48px;padding:12px 20px;font-weight:600}
.ccp-root .duration-control{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:15px;font-weight:400}
.ccp-root .duration-control select{width:90px;margin:0}
@media(max-width:480px){.ccp-root .choice-buttons{flex-wrap:nowrap;gap:8px}.ccp-root .choice-buttons button{flex:1;min-width:0;padding:10px 8px;font-size:13px}}

/* Constrain the planner to its Elementor/WordPress parent. */
.ccp-root{box-sizing:border-box;display:block;position:relative;float:none;clear:both;width:100%;min-width:0;max-width:1180px;margin:24px auto;isolation:isolate;text-align:left;}
.ccp-root .ccp-content,.ccp-root .ccp-header,.ccp-root .ccp-footer{position:static;float:none;inset:auto;transform:none;width:auto;min-width:0;max-width:100%;height:auto;}
.ccp-root .ccp-content{display:block;margin:0;}
.ccp-root .ccp-header{display:block;margin:0;}
.ccp-root .ccp-columns>*,.ccp-root .ccp-panel,.ccp-root .ccp-scroll{min-width:0;max-width:100%;}
.ccp-root .ccp-row{margin-left:0;margin-right:0;flex-wrap:wrap;}
.ccp-root .ccp-scroll{width:100%;overflow-x:auto;}
.ccp-root button,.ccp-root select{max-width:100%;text-transform:none;letter-spacing:normal;white-space:normal;}
.ccp-root h1,.ccp-root h2,.ccp-root h3{font-family:inherit;line-height:1.3;float:none;position:static;transform:none;}
@media(max-width:760px){.ccp-root .ccp-columns{grid-template-columns:minmax(0,1fr);}}
@media print{.ccp-root{position:absolute;}}

.ccp-root[data-brand="bermingham"]{--purple:#2855a3;--header-start:#163666;--header-end:#3973c1;--light:#e7effc;--line:#cbdaf1;--surface:#f5f8fe;--lesson:#e3ecfc;--extra:#c6daf9;--focus:#5686db}
.ccp-root[data-brand="soutampthon"]{--purple:#a55312;--header-start:#743d14;--header-end:#b86926;--light:#fff0df;--line:#ecd8c5;--surface:#fffbf5;--lesson:#ffedda;--extra:#ffdbb2;--focus:#d58c41}
@media(max-width:480px){.ccp-root .choice-buttons{flex-wrap:wrap}.ccp-root .choice-buttons button{flex:1 1 130px}}

.ccp-profile{font:16px/1.6 system-ui,sans-serif;max-width:1180px;margin:24px auto;color:#282033}.ccp-profile-section{margin:28px 0}.ccp-profile-hero{width:100%;max-height:420px;object-fit:cover;border-radius:16px}.ccp-profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.ccp-profile-cards article{padding:20px;border:1px solid #ddd;border-radius:12px;min-width:0}.ccp-profile img{max-width:100%;height:auto}.ccp-profile-scroll{overflow:auto}.ccp-profile table{width:100%;border-collapse:collapse}.ccp-profile th,.ccp-profile td{padding:12px;border:1px solid #ddd;text-align:left;min-width:120px}.ccp-profile th{background:#f2edf8}.ccp-profile-tagline{font-size:20px}
