/* EARETA course bookings 1.2.23. Scoped: no site-wide theme or gateway iframe resets. */
.eareta-booking-page, .eareta-checkout-shell, .eareta-booking-information {
  --eb-navy:#123d53; --eb-deep:#0b2b3b; --eb-ink:#10212b; --eb-teal:#2f7188;
  --eb-lime:#d3de42; --eb-bg:#f5f8f6; --eb-line:#dce5e4; --eb-muted:#526974;
}
body.eareta-booking-page { margin:0; background:var(--eb-bg); color:var(--eb-ink); }
.eareta-checkout-shell, .eareta-checkout-holding { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.55; color:var(--eb-ink); }
.eareta-checkout-shell *, .eareta-booking-information * { box-sizing:border-box; }
.eareta-checkout-shell a { color:var(--eb-navy); text-underline-offset:3px; }
.eareta-checkout-shell a:focus-visible, .eareta-checkout-shell button:focus-visible, .eareta-checkout-shell input:focus-visible, .eareta-checkout-shell select:focus-visible, .eareta-checkout-shell summary:focus-visible { outline:3px solid var(--eb-teal); outline-offset:4px; }
.eareta-checkout-header { display:flex; gap:28px; align-items:center; justify-content:space-between; max-width:none; margin:0; padding:18px max(36px,calc((100vw - 1180px)/2)); min-height:112px; background:white; }
body.eareta-checkout-shell { background:var(--eb-bg); }
.eareta-checkout-brand { flex:0 0 160px; line-height:0; }
.eareta-checkout-brand img { display:block; width:160px; height:auto; }
.eareta-checkout-header nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.eareta-checkout-header nav a { font-size:14px; font-weight:600; text-decoration:none; }
.eareta-checkout-header-tag { display:inline-flex; align-items:center; gap:8px; font-size:10px; letter-spacing:.12em; font-weight:750; color:var(--eb-muted); border-left:1px solid var(--eb-line); padding-left:24px; }
.eareta-checkout-header-tag::before { content:""; width:7px; height:7px; background:var(--eb-teal); border-radius:50%; }
.eareta-checkout-width { max-width:1180px; margin-left:auto; margin-right:auto; }
.eareta-checkout-hero { position:relative; background:radial-gradient(ellipse at 90% 0%,#255a6b 0,transparent 65%),var(--eb-deep); color:white; padding:38px 36px 0; overflow:hidden; }
.eareta-checkout-hero .eareta-eyebrow { color:var(--eb-lime); }
.eareta-eyebrow { margin:0 0 12px; font-size:11px; letter-spacing:.16em; line-height:1.5; font-weight:750; }
.eareta-checkout-hero h1 { color:white; font:650 clamp(30px,3.4vw,44px)/1.12 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.035em; margin:0 0 13px; }
.eareta-checkout-intro { max-width:890px; font-size:18px; color:#e1ebef; margin:0 0 14px; }
.eareta-course-facts { display:flex; gap:12px 22px; flex-wrap:wrap; font-size:12px; color:#d6e6eb; padding-bottom:28px; }
.eareta-course-facts span { display:inline-flex; align-items:center; gap:9px; }
.eareta-course-facts span::before { content:""; height:4px; width:4px; border-radius:50%; background:#a7cbd5; flex:none; }
.eareta-checkout-steps { list-style:none; display:flex; gap:0; padding:0; margin:0; border-top:1px solid #42616e; }
.eareta-checkout-steps li { flex:1; display:flex; gap:12px; align-items:center; padding:17px 0; font-size:13px; font-weight:600; color:#ccdbe2; border-bottom:3px solid transparent; }
.eareta-checkout-steps li span { width:25px; height:25px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #77959f; border-radius:50%; font-size:11px; }
.eareta-checkout-steps li.is-current { color:white; border-bottom-color:var(--eb-lime); }
.eareta-checkout-steps li.is-current span { border-color:var(--eb-lime); background:var(--eb-lime); color:var(--eb-deep); }
.eareta-checkout-steps li.is-done span { color:var(--eb-deep); background:#aac9ce; border-color:#aac9ce; }
.eareta-checkout-main { padding:30px 0 48px; min-height:330px; }
.eareta-checkout-main .woocommerce { width:100%; max-width:none; font-size:15px; }
.eareta-checkout-main form#order_review { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,360px); column-gap:24px; row-gap:20px; align-items:start; margin:0; }
.eareta-checkout-main form#order_review > table.shop_table { grid-column:2; grid-row:1 / span 3; width:100%; margin:0; background:white; border:1px solid var(--eb-line); border-radius:18px; border-spacing:0; box-shadow:0 7px 24px #0b2b3b06; font-size:13px; table-layout:fixed; }
.eareta-checkout-main form#order_review > table.shop_table caption { text-align:left; caption-side:top; padding:0 0 12px 2px; font-size:13px; font-weight:700; letter-spacing:.02em; color:var(--eb-muted); }
.eareta-checkout-main form#order_review > .eareta-booking-status { grid-column:1; grid-row:1; margin:0; }
.eareta-checkout-main form#order_review > #payment { grid-column:1; grid-row:2; }
.eareta-checkout-main table.shop_table th, .eareta-checkout-main table.shop_table td { padding:16px; border:0; border-bottom:1px solid var(--eb-line); vertical-align:top; word-break:normal; overflow-wrap:anywhere; }
.eareta-checkout-main table.shop_table thead th { color:var(--eb-muted); font-size:11px; letter-spacing:.05em; font-weight:650; }
.eareta-checkout-main form#order_review table .product-quantity { width:35px; padding-left:0; padding-right:0; text-align:center; font-size:11px; }
.eareta-checkout-main form#order_review table th.product-total { width:106px; }
.eareta-checkout-main table .product-name { font-weight:650; line-height:1.55; }
.eareta-checkout-main table .product-subtotal, .eareta-checkout-main table .product-total { text-align:right; white-space:nowrap; font-weight:700; }
.eareta-checkout-main table .wc-item-meta { padding:0; margin:10px 0 0; list-style:none; font-size:11px; color:var(--eb-muted); font-weight:400; }
.eareta-checkout-main table .wc-item-meta p { margin:0; display:inline; }
.eareta-checkout-main table .wc-item-meta .wc-item-meta-label { font-weight:500; }
.eareta-checkout-main table tfoot th { text-align:left; font-weight:500; color:var(--eb-muted); }
.eareta-checkout-main table tfoot td { text-align:right; white-space:nowrap; }
.eareta-checkout-main table tfoot tr:last-child th, .eareta-checkout-main table tfoot tr:last-child td { border-bottom:0; background:#f0f5f3; color:var(--eb-navy); font-size:18px; font-weight:750; }
.eareta-checkout-main table tfoot tr:last-child th { border-radius:0 0 0 18px; }
.eareta-checkout-main table tfoot tr:last-child td { border-radius:0 0 18px 0; }
.eareta-booking-status { border:1px solid var(--eb-line); border-radius:18px; background:white; padding:22px 24px; box-shadow:0 7px 24px #0b2b3b04; }
.eareta-status-top { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.eareta-status-dot { width:8px; height:8px; flex:none; background:var(--eb-teal); border-radius:50%; box-shadow:0 0 0 4px #e9f2f3; }
.eareta-booking-status h2 { font-size:17px; font-weight:700; letter-spacing:-.025em; color:var(--eb-navy); margin:0; line-height:1.35; }
.eareta-booking-reference { font-size:10px; font-weight:700; letter-spacing:.03em; border:1px solid var(--eb-line); background:#f5f8f6; border-radius:6px; padding:4px 7px; color:var(--eb-muted); margin-left:auto; }
.eareta-booking-status p { font-size:13px; margin:12px 0; color:var(--eb-muted); line-height:1.65; }
.eareta-booking-status .eareta-status-type { margin:8px 0 0 18px; font-size:11px; }
.eareta-deadline { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; padding:14px 16px; background:#f1f6f6; border-radius:10px; margin-top:15px; }
.eareta-deadline > div > span { display:block; font-size:8px; letter-spacing:.10em; color:var(--eb-muted); font-weight:700; margin-bottom:4px; }
.eareta-deadline strong { font-size:12px; color:var(--eb-navy); font-weight:650; display:block; }
.eareta-countdown { font-variant-numeric:tabular-nums; font-size:15px; font-weight:750; color:var(--eb-navy); }
.eareta-booking-status p.eareta-expiry-message:empty { display:none; }
.eareta-booking-status p.eareta-expiry-message:not(:empty) { color:#92381c; font-weight:650; }
.eareta-booking-status p.eareta-status-small { font-size:11px; }
.eareta-invoice-link { display:inline-block; margin-top:9px; font-size:12px; font-weight:700; }
.eareta-status-confirmed { border-color:#adc6b8; }
.eareta-status-confirmed .eareta-status-dot { background:#2a7350; box-shadow:0 0 0 4px #e8f4ec; }
.eareta-status-released, .eareta-status-review { border-color:#dfb7a7; }
.eareta-status-released .eareta-status-dot, .eareta-status-review .eareta-status-dot { background:#a04426; box-shadow:0 0 0 4px #f9eae4; }
.eareta-checkout-main #payment { padding:23px 24px; border:1px solid var(--eb-line); background:white!important; border-radius:18px; box-shadow:0 7px 24px #0b2b3b04; }
.eareta-payment-heading { margin:0 0 16px!important; font-size:19px; font-weight:700; color:var(--eb-navy); letter-spacing:-.025em; }
.eareta-checkout-main #payment ul.payment_methods { list-style:none; padding:0!important; margin:0!important; border:0!important; display:flex; flex-direction:column; gap:10px; }
.eareta-checkout-main #payment ul.payment_methods li { list-style:none; border:1px solid var(--eb-line); border-radius:11px; padding:14px 15px!important; background:white; line-height:1.5; margin:0!important; text-align:left; font-weight:400; }
.eareta-checkout-main #payment ul.payment_methods li:has(> input:checked), .eareta-checkout-main #payment ul.payment_methods li.eareta-selected { background:#f8fbfb; border-color:var(--eb-teal); box-shadow:inset 0 0 0 1px var(--eb-teal); }
.eareta-checkout-main #payment ul.payment_methods li > input[type=radio] { float:none; display:inline-block; width:17px; height:17px; margin:0 9px 0 0!important; vertical-align:middle; accent-color:var(--eb-teal); cursor:pointer; }
.eareta-checkout-main #payment ul.payment_methods li > label { display:inline; font-size:15px; color:var(--eb-navy); font-weight:650; cursor:pointer; vertical-align:middle; }
.eareta-checkout-main #payment ul.payment_methods li > label img { max-height:23px; max-width:95px; width:auto; object-fit:contain; margin:0 0 0 7px!important; vertical-align:middle; }
.eareta-gateway-caption { display:block; padding:4px 0 0 30px; font-size:11px; color:var(--eb-muted); }
.eareta-checkout-main #payment div.payment_box { width:auto; margin:13px 0 0!important; padding:14px!important; border-radius:8px; background:#edf4f4!important; color:var(--eb-ink)!important; font-size:13px; line-height:1.65; }
.eareta-checkout-main #payment div.payment_box::before { display:none!important; }
.eareta-checkout-main #payment .payment_box p { margin:0 0 9px; }
.eareta-checkout-main #payment .payment_box p:last-child { margin-bottom:0; }
.eareta-checkout-main #payment .payment_box fieldset { border:0; background:transparent; padding:0; }
.eareta-checkout-main #payment .form-row { margin:0; padding:0!important; }
.eareta-checkout-main #payment > .form-row { border-top:1px solid var(--eb-line); padding-top:16px!important; margin-top:19px; }
.eareta-checkout-main #payment .woocommerce-privacy-policy-text p { color:var(--eb-muted); font-size:11px; line-height:1.7; margin:0 0 12px; }
.eareta-checkout-main .woocommerce-terms-and-conditions-wrapper { float:none; font-size:12px; margin:0 0 12px; }
.eareta-checkout-main .woocommerce-terms-and-conditions-wrapper label { display:block; }
.eareta-checkout-main #payment .eareta-payment-action-note { font-size:11px; margin:12px 0; color:var(--eb-muted); line-height:1.6; }
.eareta-checkout-main #place_order, .eareta-button { float:none!important; display:inline-flex; justify-content:center; align-items:center; gap:8px; width:100%; border:1px solid var(--eb-lime)!important; border-radius:10px!important; min-height:49px; padding:14px 20px!important; background:var(--eb-lime)!important; color:var(--eb-deep)!important; font:700 15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; transition:box-shadow .18s ease,transform .18s ease; }
.eareta-checkout-main #place_order:hover:not(:disabled), .eareta-button:hover { box-shadow:0 5px 18px #123d5320; transform:translateY(-1px); }
.eareta-checkout-main #place_order:disabled { cursor:not-allowed; opacity:.55; }
.eareta-booking-information { border:1px solid var(--eb-line); border-radius:14px; margin:18px 0; padding:19px 22px; background:#f6f9f7; color:var(--eb-ink); font:13px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.eareta-information-title { font-size:14px; font-weight:750; color:var(--eb-navy); margin-bottom:11px; }
.eareta-information-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.eareta-information-grid strong { font-size:12px; color:var(--eb-navy); }
.eareta-information-grid p { font-size:12px; color:var(--eb-muted); margin:5px 0 0; }
.eareta-information-footnote { color:var(--eb-muted); font-size:11px; border-top:1px solid var(--eb-line); margin:12px 0 0; padding-top:10px; }
.eareta-checkout-main form.checkout { background:white; padding:24px; border:1px solid var(--eb-line); border-radius:18px; }
.eareta-checkout-main form.checkout h3, .eareta-checkout-main h2 { color:var(--eb-navy); font-family:inherit; }
.eareta-checkout-main .input-text, .eareta-checkout-main select { max-width:100%; border:1px solid #b6c9cc; padding:11px 12px; border-radius:7px; background:white; color:var(--eb-ink); font-size:15px; line-height:1.4; }
.eareta-checkout-main .woocommerce-error, .eareta-checkout-main .woocommerce-info, .eareta-checkout-main .woocommerce-message { border-radius:10px; font-size:13px; }
.eareta-checkout-main .wc-block-checkout { background:white; padding:24px; border:1px solid var(--eb-line); border-radius:18px; }
.eareta-checkout-main .wc-block-checkout__payment-method .wc-block-components-radio-control__option { border-color:var(--eb-line); }
.eareta-checkout-footer { max-width:1252px; padding:26px 36px 32px; margin:0 auto; border-top:1px solid var(--eb-line); display:flex; gap:15px; align-items:center; color:var(--eb-muted); font-size:10px; }
.eareta-checkout-footer strong { color:var(--eb-navy); letter-spacing:.09em; font-size:12px; }
.eareta-checkout-footer a { margin-left:auto; }
.eareta-checkout-skip { position:absolute; top:-100px; left:16px; z-index:999999; background:white; padding:12px 16px; border:2px solid var(--eb-teal); border-radius:6px; }
.eareta-checkout-skip:focus { top:12px; }
.eareta-holding-main { max-width:680px; text-align:center; padding:70px 26px 90px; margin:auto; }
.eareta-holding-mark { height:62px; width:62px; background:var(--eb-deep); color:var(--eb-lime); display:grid; place-items:center; font-size:28px; font-weight:750; border-radius:18px; margin:0 auto 24px; }
.eareta-holding-main .eareta-eyebrow { color:var(--eb-teal); }
.eareta-holding-main h1 { font:650 clamp(32px,5vw,46px)/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.04em; color:var(--eb-navy); margin:14px 0 20px; }
.eareta-holding-main > p { color:var(--eb-muted); }
.eareta-holding-main p.eareta-holding-note { font-size:12px; background:white; border:1px solid var(--eb-line); border-radius:10px; padding:16px; margin:24px 0; }
.eareta-holding-main .eareta-button { max-width:280px; }
.eareta-holding-back { display:block; font-size:12px; margin-top:16px; }
/* Woo may wrap its Coming Soon block in a classic theme header/footer. Hide only those
   wrappers on our own holding screen, not menus elsewhere and not payment UI. */
body.eareta-booking-page:has(.eareta-checkout-holding) > header,
body.eareta-booking-page:has(.eareta-checkout-holding) > footer,
body.eareta-booking-page:has(.eareta-checkout-holding) > .wp-site-blocks > header,
body.eareta-booking-page:has(.eareta-checkout-holding) > .wp-site-blocks > footer { display:none; }
@media(min-width:1300px) { .eareta-checkout-main form#order_review > table.shop_table { position:sticky; top:24px; } }
@media(max-width:1250px) { .eareta-checkout-main { margin-left:36px; margin-right:36px; } }
@media(max-width:850px) {
  .eareta-checkout-main form#order_review { grid-template-columns:minmax(0,1fr); }
  .eareta-checkout-main form#order_review > table.shop_table { grid-column:1; grid-row:2; position:static; }
  .eareta-checkout-main form#order_review > #payment { grid-column:1; grid-row:3; }
  .eareta-checkout-header-tag { display:none; }
  .eareta-checkout-main form#order_review table th.product-total { width:110px; }
}
@media(max-width:560px) {
  .eareta-checkout-header { padding:12px 18px; gap:16px; min-height:85px; }
  .eareta-checkout-brand { flex-basis:126px; }
  .eareta-checkout-brand img { width:126px; }
  .eareta-checkout-header nav { flex-direction:column; align-items:flex-end; gap:7px; }
  .eareta-checkout-header nav a { font-size:10px; }
  .eareta-checkout-hero { padding:28px 20px 0; }
  .eareta-checkout-intro { font-size:14px; line-height:1.55; }
  .eareta-course-facts { font-size:10px; gap:7px; padding-bottom:20px; }
  .eareta-checkout-steps li { flex-direction:column; align-items:flex-start; gap:7px; font-size:10px; padding:13px 0; }
  .eareta-checkout-main { margin:0 14px; padding:20px 0 30px; }
  .eareta-booking-status, .eareta-checkout-main #payment { padding:18px; border-radius:14px; }
  .eareta-booking-status h2 { font-size:16px; max-width:calc(100% - 20px); }
  .eareta-booking-reference { margin-left:18px; }
  .eareta-booking-status .eareta-status-type { margin-left:0; }
  .eareta-deadline { padding:12px; }
  .eareta-deadline strong { font-size:11px; }
  .eareta-information-grid { grid-template-columns:1fr; gap:12px; }
  .eareta-checkout-main table.shop_table th, .eareta-checkout-main table.shop_table td { padding:13px; }
  .eareta-checkout-main #payment ul.payment_methods li { padding:12px!important; }
  .eareta-checkout-main #payment ul.payment_methods li > label { font-size:14px; }
  .eareta-checkout-footer { padding:22px 20px; flex-wrap:wrap; gap:10px; }
  .eareta-checkout-footer span { width:calc(100% - 75px); }
  .eareta-checkout-footer a { margin-left:0; }
  .eareta-checkout-main form.checkout, .eareta-checkout-main .wc-block-checkout { padding:15px; }
  .eareta-holding-main { padding:44px 20px 60px; }
}
@media(prefers-reduced-motion:reduce) { .eareta-checkout-shell *, .eareta-checkout-shell *::before, .eareta-checkout-shell *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
