/* Scoped styles: existing Elementor typography supplies Italiana and DM Sans. */
.pp-root{--pp-ink:#11100f;--pp-paper:#f1eee7;--pp-gold:#d7b166;--pp-line:rgba(17,16,15,.15);color:var(--pp-ink);font-family:'DM Sans',sans-serif;font-size:16px;width:100%;box-sizing:border-box}
.pp-root *{box-sizing:border-box}.pp-root h2,.pp-root h3,.pp-root p{padding:0;letter-spacing:normal}.pp-root a{color:inherit;text-decoration:none}.pp-root a:hover{text-decoration:underline}.pp-root a:focus-visible{outline:2px solid #9a783a;outline-offset:6px}.pp-root .pp-link{font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap;align-self:center}.pp-root .pp-day{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;border-top:1px solid var(--pp-line);padding:35px 0;margin:0}.pp-root .pp-day-title{display:flex;gap:20px;align-items:baseline}.pp-root .pp-day-title>span{font-size:10px;color:#957033}.pp-root .pp-day-title h2{font:400 43px/1.1 'Italiana',Georgia,serif;margin:0;color:inherit}.pp-root .pp-slot{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:30px;padding:22px 0;margin:0;border-bottom:1px solid var(--pp-line)}.pp-root .pp-time{font-size:12px;color:#6f6860;white-space:nowrap;font-variant-numeric:tabular-nums}.pp-root .pp-details h3{font:400 25px/1.2 'Italiana',Georgia,serif;margin:0;color:inherit;overflow-wrap:anywhere}.pp-root .pp-details p{font-size:11px;line-height:1.6;color:#70685f;margin:5px 0 0}.pp-root .pp-badge{display:block;color:#916d2e;font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 8px}.pp-root.pp-week{background:#151413;color:white;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:24px}.pp-root.pp-week .pp-day{display:block;padding:20px;border-color:#444;border-right:1px solid #333}.pp-root.pp-week .pp-day-title>span{display:none}.pp-root.pp-week .pp-day-title h2{font:600 11px/1.3 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-gold)}.pp-root.pp-week .pp-slot{display:block;border:0;padding:24px 0 0}.pp-root.pp-week .pp-time{font-size:10px;color:#aaa;margin-bottom:5px}.pp-root.pp-week .pp-details h3{font-size:22px}.pp-root.pp-week .pp-details p{color:#aaa}.pp-root.pp-week .pp-link{display:inline-block;margin-top:10px;color:var(--pp-gold)}.pp-root.pp-week .pp-badge{color:var(--pp-gold)}.pp-root .pp-course{display:grid;grid-template-columns:150px minmax(0,1fr) 45px;gap:50px;align-items:center;min-height:250px;border-bottom:1px solid var(--pp-line);padding:32px 0;margin:0}.pp-root .pp-course:first-child{border-top:1px solid var(--pp-line)}.pp-root .pp-orb{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;color:white;font-size:13px;background:radial-gradient(circle at 35% 30%,var(--pp-tone),#222)}.pp-root .pp-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.15em;color:#70685f;text-transform:uppercase;margin:0}.pp-root .pp-course h2{font:400 clamp(37px,4vw,60px)/1.1 'Italiana',Georgia,serif;margin:8px 0;color:inherit;overflow-wrap:anywhere}.pp-root .pp-description{max-width:750px;color:#625b54;font-size:16px;line-height:1.7}.pp-root .pp-description p{margin:12px 0 0}.pp-root .pp-course>.pp-link{display:grid;place-items:center;width:40px;height:40px;border:1px solid #777;border-radius:50%;font-size:20px}
@media(max-width:900px){.pp-root .pp-day{grid-template-columns:1fr}.pp-root .pp-day-title{margin-bottom:8px}.pp-root .pp-course{grid-template-columns:100px minmax(0,1fr) 40px;gap:25px}.pp-root .pp-orb{width:90px;height:90px}}
@media(max-width:600px){.pp-root .pp-slot{grid-template-columns:90px minmax(0,1fr);gap:16px}.pp-root .pp-slot>.pp-link{grid-column:2;justify-self:start;padding:8px 0}.pp-root .pp-time{font-size:11px}.pp-root .pp-day-title h2{font-size:38px}.pp-root .pp-course{grid-template-columns:70px minmax(0,1fr);gap:20px;min-height:0;padding:28px 0}.pp-root .pp-orb{width:70px;height:70px}.pp-root .pp-course>.pp-link{grid-column:2}.pp-root .pp-course h2{font-size:36px}.pp-root.pp-week{grid-template-columns:1fr;padding:16px}.pp-root.pp-week .pp-day{border-right:0}.pp-root .pp-description{font-size:14px}}
.pp-root .pp-course-times{list-style:none;margin:16px 0 0;padding:0;font-size:12px;line-height:1.8;color:#625b54}
.pp-root .pp-next{font-size:12px;margin:14px 0 0;color:#756039}.pp-root .pp-dates{font-size:12px;margin-top:12px}.pp-root .pp-dates summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.pp-root .pp-dates ul{max-height:240px;overflow:auto;line-height:1.9;padding-left:18px}.pp-root .pp-form{max-width:900px}.pp-root .pp-form-intro{font-size:17px;color:#625b54;line-height:1.7;margin:0 0 22px}.pp-root .pp-semester{font-size:12px;color:#8b6930;letter-spacing:.1em;text-transform:uppercase;margin-bottom:30px}.pp-root .pp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.pp-root .pp-form-grid label{font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;min-width:0}.pp-root .pp-form input,.pp-root .pp-form select,.pp-root .pp-form textarea{display:block;width:100%;min-width:0;max-width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;border-radius:0;box-shadow:none;color:var(--pp-ink);margin:8px 0 0;padding:13px 4px;font:400 14px/1.5 'DM Sans',sans-serif;letter-spacing:normal;text-transform:none}.pp-root .pp-form select{padding-right:24px;text-overflow:ellipsis}.pp-root .pp-form textarea{border:1px solid #aaa;padding:14px;resize:vertical}.pp-root .pp-wide{grid-column:1/-1}.pp-root .pp-form :is(input,select,textarea):focus-visible{outline:2px solid #9a783a;outline-offset:3px}.pp-root .pp-form-note{font-size:12px;line-height:1.7;color:#70685f;margin:24px 0}.pp-root .pp-form-note a{text-decoration:underline}.pp-root .pp-submit{display:inline-flex;align-items:center;gap:36px;background:var(--pp-gold);color:#111;border:0;border-radius:0;padding:18px 24px;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.pp-root .pp-submit span{font-size:18px}.pp-root .pp-submit:disabled{opacity:.55;cursor:default}.pp-root .pp-form button:focus-visible{outline:2px solid #9a783a;outline-offset:4px}.pp-root .pp-feedback{font-size:14px;line-height:1.7;margin:20px 0}.pp-root .pp-retry{background:transparent;color:#625b54;border:1px solid #aaa;border-radius:0;padding:12px 18px;margin:10px 0 0;font-size:12px;cursor:pointer}.pp-root .pp-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.pp-root [hidden]{display:none!important}@media(max-width:600px){.pp-root .pp-form-grid{grid-template-columns:1fr;gap:20px}.pp-root .pp-submit{width:100%;justify-content:space-between}}
.pp-root .pp-course-photo{width:130px;height:130px;border-radius:50%;overflow:hidden}.pp-root img.pp-course-image{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;margin:0;border:0;border-radius:0}@media(max-width:900px){.pp-root .pp-course-photo{width:90px;height:90px}}@media(max-width:600px){.pp-root .pp-course-photo{width:70px;height:70px}}
body.platinum-single-course{margin:0;background:#f1eee7}.pp-root .pp-detail-hero{background:#11100f;color:white;padding:75px max(24px,8vw)}.pp-root .pp-detail-hero>a{font-size:12px;color:#d7b166}.pp-root .pp-detail-hero .pp-eyebrow{color:#d7b166;margin-top:48px}.pp-root .pp-detail-hero h1{font:400 clamp(48px,8vw,108px)/1.04 'Italiana',Georgia,serif;color:white;margin:24px 0}.pp-root .pp-detail-hero>p:last-child{color:#bbb}.pp-root .pp-detail-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:7vw;padding:70px max(24px,8vw);max-width:1500px;margin:auto}.pp-root .pp-detail-body h2{font:400 38px/1.2 'Italiana',Georgia,serif;margin:0 0 24px;color:#111}.pp-root .pp-detail-image{display:block;width:100%;max-height:520px;object-fit:cover;margin-bottom:36px}.pp-root .pp-detail-booking{background:#e8e2d8;padding:30px;height:fit-content}.pp-root .pp-detail-cta{margin-top:30px}.pp-root .pp-detail-cta .pp-link{display:inline-block;background:#d7b166;color:#111;padding:18px 24px;white-space:normal}.pp-root .pp-course-visual{display:block;width:fit-content}.pp-root .pp-course h2 a,.pp-root .pp-details h3 a{font:inherit;color:inherit}@media(max-width:760px){.pp-root .pp-detail-body{grid-template-columns:1fr;padding:40px 24px}.pp-root .pp-detail-hero{padding:45px 24px}.pp-root .pp-detail-booking{padding:24px}}
/* Drawn icons cannot be rendered as platform emojis. */
.pp-vector-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.13em;overflow:visible;pointer-events:none}.pp-root .pp-link>.pp-vector-icon{width:22px;height:22px;vertical-align:middle}.pp-root .pp-dates summary{list-style:none;display:list-item}.pp-root .pp-dates summary::-webkit-details-marker{display:none}.pp-root .pp-dates summary::marker{content:""}.pp-root .pp-dates summary::before{content:"";display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:-45deg;margin-right:10px;vertical-align:2px;transition:rotate .2s}.pp-root .pp-dates[open] summary::before{rotate:45deg}@media(prefers-reduced-motion:reduce){.pp-root .pp-dates summary::before{transition:none}}
.pp-vacation{background:#d7b166;color:#191918;padding:16px 24px;text-align:center;font:500 15px/1.6 Arial,sans-serif}.pp-contract-fields{grid-column:1/-1}.pp-contract-fields[hidden]{display:none!important}.pp-contract-fields .pp-contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pp-contract-fields label{display:block}.pp-contract-fields .pp-consent{display:flex;gap:12px;align-items:flex-start}.pp-contract-fields .pp-consent input{width:auto;flex:none;margin-top:5px}@media(max-width:600px){.pp-contract-fields .pp-contract-grid{grid-template-columns:1fr}}

/* Dynamic prices: scoped so Elementor and theme controls remain unchanged. */
.pp-tariffs { color:#24231f; background:#f1eee7; padding:clamp(24px,5vw,64px); }
.pp-tariffs h2 { font-family:Italiana,Georgia,serif; font-size:clamp(32px,4vw,56px); line-height:1.15; margin:12px 0 24px; }
.pp-tariffs .pp-eyebrow { letter-spacing:.15em; font-size:12px; color:#796039; }
.pp-tariff-note { border-left:2px solid #b48c3c; padding-left:18px; }
.pp-tariff-results { margin-top:36px; }
.pp-tariff-card { padding:28px 0; border-top:1px solid #d5d0c5; }
.pp-tariff-card h3 { font-family:Italiana,Georgia,serif; font-size:clamp(28px,3vw,40px); margin:0 0 20px; }
.pp-tariff-slot { padding:18px 0; }
.pp-tariff-slot + .pp-tariff-slot { border-top:1px dashed #d5d0c5; }
.pp-tariff-slot p { margin:6px 0; }
.pp-tariff-quarter { font-weight:600; color:#796039; }
.pp-tariff-amount { font-size:clamp(22px,2.4vw,30px); font-weight:600; }
.pp-tariff-slot .pp-link { display:inline-block; margin-top:14px; padding-bottom:4px; border-bottom:1px solid currentColor; }
.pp-tariff-prorata { color:#705321; }
.pp-quote { padding:22px; border:1px solid #cbb781; background:#f4f0e7; color:#24231f; }
.pp-quote p { margin:0 0 10px; line-height:1.6; }
.pp-quote p:last-child { margin-bottom:0; }
.pp-form .pp-quote[hidden], .pp-form .pp-price-profile[hidden], .pp-tariffs [hidden] { display:none!important; }
@media(min-width:900px) { .pp-tariff-card { display:grid; grid-template-columns:minmax(190px, .7fr) 1.3fr; column-gap:36px; } .pp-tariff-card h3 { grid-column:1; grid-row:1 / span 50; } .pp-tariff-slot { grid-column:2; } }
@media(prefers-reduced-motion:no-preference) { .pp-tariffs .pp-link { transition:color .2s ease; } .pp-tariffs .pp-link:hover { color:#846326; } }
.pp-tariff-filter { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:24px; }
.pp-tariff-filter select { max-width:100%; padding:12px; color:#24231f; background:#fffdf7; border:1px solid #b6a884; font:inherit; }
.pp-tariffs h2, .pp-tariffs h3 { font-weight:400; overflow-wrap:anywhere; }
.pp-tariffs p { line-height:1.65; }
.pp-tariffs .pp-tariff-note { padding-left:18px; }
.pp-tariffs .pp-link { white-space:normal; font-size:12px; line-height:1.5; }
.pp-tariffs select:focus-visible, .pp-tariff-retry:focus-visible { outline:2px solid #846326; outline-offset:4px; }
