/* Full appointment summaries ONLY. Marker comes from the authorized booking-view
   hook. Order checkout, invoices, calendars and the portal shell are not restyled. */
.ik9-as-header,
.full-summary-wrapper.ik9-appointment-summary {
    --ik9-as-red:#c91424; --ik9-as-ink:#191c20; --ik9-as-muted:#56616b;
    --ik9-as-line:#dce1e6; --ik9-as-soft:#f5f7f9;
    color:var(--ik9-as-ink); font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    text-size-adjust:100%; -webkit-text-size-adjust:100%;
}
body.latepoint-clean-body.ik9-appointment-document {background:#edf1f4!important;background-image:none!important;padding:24px 16px;}
body.latepoint-clean-body.ik9-appointment-document > .latepoint-w {max-width:900px;margin:0 auto;min-width:0;}
.latepoint-w .manage-booking-wrapper.ik9-as-manage {
    max-width:900px;margin:0 auto;width:100%;background:#fff;border:1px solid #dce1e6;
    border-radius:16px;box-shadow:0 12px 36px rgba(25,28,32,.07);box-sizing:border-box;
}
.latepoint-w .manage-booking-wrapper.ik9-as-manage::before,
.latepoint-w .manage-booking-wrapper.ik9-as-manage::after,
.latepoint-w .manage-booking-inner.ik9-as-inner::before,
.latepoint-w .manage-booking-inner.ik9-as-inner::after {display:none;}
.latepoint-w .manage-booking-inner.ik9-as-inner {padding:0!important;position:relative;min-width:0;background:#fff;border-radius:16px;}
.full-summary-wrapper.ik9-appointment-summary {box-sizing:border-box;min-width:0;width:100%;padding:0;margin:0;}
.full-summary-wrapper.ik9-appointment-summary *, .ik9-as-header * {box-sizing:border-box;}
.ik9-as-header {background:#fff;border-top:5px solid #c91424;border-radius:16px 16px 0 0;padding:24px 28px 20px;}
.ik9-as-brand {display:flex;align-items:center;gap:20px;min-width:0;margin:0 0 20px;}
.ik9-as-brand .ik9-as-logo {display:block;width:112px;height:76px;max-width:30%;object-fit:contain;background:#fff;flex:0 0 auto;}
.ik9-as-wordmark {min-width:0;flex:1;}
.ik9-as-header .ik9-as-wordmark p {color:#56616b;font:650 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0 0 4px;}
.ik9-as-header .ik9-as-wordmark h2 {color:#191c20;font:800 clamp(24px,3vw,30px)/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0;letter-spacing:-.025em;overflow-wrap:anywhere;}
.ik9-as-status-slot:empty {display:none;}
/* The native status node is moved here intact. Do not confuse its booking value
   with the order payment status or infer a financial state from its CSS class. */
.latepoint-w .ik9-appointment-summary .booking-status-info-wrapper.ik9-as-status {
    display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;position:static;
    margin:0!important;padding:14px 0 0!important;border:0;border-top:1px solid #dce1e6;background:transparent;
}
.ik9-appointment-summary .ik9-as-status .booking-status-icon {display:none;}
.ik9-appointment-summary .ik9-as-status .booking-status-label {
    display:inline-flex;flex-wrap:wrap;gap:0 4px;align-items:baseline;background:#f5f7f9;border:1px solid #dce1e6;
    border-radius:8px;padding:6px 10px;font:700 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#191c20;min-width:0;overflow-wrap:anywhere;
}
.ik9-as-status-prefix {color:#56616b;font-weight:500;}
.ik9-appointment-summary .ik9-as-status .booking-confirmation {margin-left:auto;font:500 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#56616b;overflow-wrap:anywhere;}
.ik9-appointment-summary .ik9-as-status .booking-confirmation strong {color:#191c20;font-weight:650;}
.ik9-appointment-summary > .full-summary-head-info:empty {display:none;}
.ik9-appointment-summary > .full-summary-head-info:not(:empty) {padding:0 28px;}
.ik9-appointment-summary > .full-summary-info-w {padding:0 28px 28px;min-width:0;}
.ik9-appointment-summary .booking-summary-main-section,.ik9-appointment-summary .summary-box-wrapper {min-width:0;}
.ik9-appointment-summary .summary-box.main-box {margin:0 0 18px;padding:22px 0 0;border-top:1px solid #dce1e6;}
.ik9-appointment-summary .summary-box.main-box {display:flex;align-items:flex-start;gap:16px;min-width:0;}
.ik9-appointment-summary .summary-box.main-box .summary-box-booking-date-box {flex:0 0 54px;border:1px solid #dce1e6;border-radius:10px;background:#f5f7f9;min-width:0;overflow:hidden;}
.ik9-appointment-summary .summary-box.main-box .summary-box-booking-date-day {font-size:24px;line-height:1.3;color:#191c20;font-weight:750;padding:6px 2px;}
.ik9-appointment-summary .summary-box.main-box .summary-box-booking-date-month {font-size:13px;line-height:1.4;padding:5px 2px;color:#56616b;}
.ik9-appointment-summary .summary-box.main-box .summary-box-inner {min-width:0;flex:1;}
.ik9-appointment-summary .summary-box.main-box .sbc-big-item {color:#191c20;font:800 clamp(20px,2.6vw,25px)/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0 0 6px;overflow-wrap:anywhere;}
.ik9-appointment-summary .summary-box .sbc-highlighted-item,.ik9-appointment-summary .summary-box .summary-attributes {color:#56616b;font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin-top:4px;overflow-wrap:anywhere;}
.ik9-appointment-summary .summary-box .summary-attributes strong {color:#191c20;}
.ik9-appointment-summary .summary-box.main-box .qr-show-trigger {flex:0 0 auto;width:auto;max-width:90px;min-width:44px;min-height:48px;padding:8px;border:1px solid #dce1e6;border-radius:8px;background:#fff;white-space:normal;}
.ik9-appointment-summary .summary-box.main-box .qr-show-trigger .latepoint-icon {font-size:24px;}
.ik9-appointment-summary .summary-box.main-box .qr-show-trigger .qr-code-trigger-label {display:block;margin-top:4px;color:#56616b;font-size:12px;border:0;white-space:normal;line-height:1.4;}
.ik9-appointment-summary .booking-full-summary-actions {display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px;}
.ik9-appointment-summary .booking-full-summary-actions .booking-summary-action-btn {
    display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:100%;
    padding:10px 14px;border:1px solid #bdc6cf;border-radius:8px;background:#fff;color:#252b30;
    font:650 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-decoration:none;white-space:normal;
}
.ik9-appointment-summary .booking-full-summary-actions .booking-summary-action-btn:hover {border-color:#c91424;color:#ad1422;background:#fff6f7;}
.ik9-appointment-summary .booking-summary-info-w {margin:0;min-width:0;}
.latepoint-w .ik9-appointment-summary .summary-boxes-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.latepoint-w .ik9-appointment-summary .summary-boxes-columns > .summary-box {margin:0;padding:18px;border:1px solid #dce1e6;border-radius:12px;min-width:0;}
.ik9-appointment-summary .summary-boxes-columns > .summary-box-customer-info {grid-column:1/-1;}
.ik9-appointment-summary .summary-box-heading {margin:0 0 12px;display:flex;align-items:center;gap:0;}
.ik9-appointment-summary .summary-box-heading .sbh-item {color:#56616b;font:750 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;}
.ik9-appointment-summary .summary-box-heading .sbh-line,.ik9-appointment-summary .pb-heading .pbh-line {display:none;}
.ik9-appointment-summary .summary-boxes-columns .summary-box-content.with-media {align-items:flex-start;gap:10px;min-width:0;}
.ik9-appointment-summary .summary-boxes-columns .summary-box-content .sbc-content-i {margin:0;line-height:1.5;min-width:0;flex:1;}
.ik9-appointment-summary .summary-boxes-columns .sbc-main-item {font:700 17px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#191c20;overflow-wrap:anywhere;}
.ik9-appointment-summary .summary-boxes-columns .sbc-main-item a {color:#ad1422;}
.ik9-appointment-summary .summary-boxes-columns .sbc-sub-item {font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#56616b;overflow-wrap:anywhere;}
.ik9-appointment-summary .summary-boxes-columns .os-avatar-w,.ik9-appointment-summary .summary-boxes-columns .os-location-image {width:32px;height:32px;flex:0 0 32px;}
.ik9-as-contact {margin:16px 0 0;padding-top:14px;border-top:1px solid #dce1e6;min-width:0;}
.ik9-as-contact .ik9-as-contact-title {font:700 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0 0 6px;color:#191c20;overflow-wrap:anywhere;}
.ik9-as-contact [hidden] {display:none!important;}
.ik9-as-contact .ik9-as-contact-note {font:400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#56616b;margin:0 0 10px;}
.ik9-as-contact a.ik9-as-call {display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid #ead2d6;border-radius:9px;background:#fff4f5;color:#a71321;text-decoration:none;max-width:100%;}
.ik9-as-call svg {display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;}
.ik9-as-call > span {display:block;min-width:0;}
.ik9-as-call strong,.ik9-as-call span span {display:block;overflow-wrap:anywhere;font:700 15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
.ik9-as-call span span {font-size:14px;font-weight:500;}
.ik9-appointment-summary .summary-price-breakdown-wrapper {margin:24px 0 0;padding:20px;border:1px solid #dce1e6;border-radius:12px;background:#f5f7f9;min-width:0;}
.ik9-appointment-summary .summary-price-breakdown-wrapper .pb-heading {margin:0 0 14px;}
.ik9-appointment-summary .summary-price-breakdown-wrapper .pbh-label {color:#191c20;font:750 19px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
.ik9-as-payment {margin:14px 0;padding:0 0 14px;border-bottom:1px solid #dce1e6;}
.ik9-as-payment-row {display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;color:#56616b;font-size:14px;}
.ik9-as-payment-row strong {font-weight:750;color:#191c20;background:#fff;border:1px solid #dce1e6;border-radius:6px;padding:4px 8px;overflow-wrap:anywhere;}
.ik9-as-payment p {color:#56616b;font:400 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:8px 0 0;}
.ik9-appointment-summary .summary-price-breakdown-inner {padding:0;}
.ik9-appointment-summary .summary-price-item-w {gap:12px;font-size:16px;line-height:1.5;padding:6px 0;min-width:0;}
.ik9-appointment-summary .summary-price-item-w .spi-name {min-width:0;overflow-wrap:anywhere;}
.ik9-appointment-summary .summary-price-item-w .spi-price {font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;}
.ik9-appointment-summary .summary-price-item-w.spi-total {border-top:2px solid #191c20;margin-top:10px;padding-top:12px;font-size:20px;font-weight:800;color:#191c20;}
.ik9-appointment-summary .part-of-bundle-message {margin-top:20px;white-space:normal;overflow-wrap:anywhere;}
.ik9-appointment-summary a:focus-visible,.ik9-appointment-summary button:focus-visible,.ik9-appointment-summary [tabindex]:focus-visible {outline:3px solid #c91424!important;outline-offset:3px;}
.ik9-appointment-summary .qr-code-on-full-summary {max-width:100%;}
.ik9-appointment-summary .qr-code-vevent {max-width:100%;}
.ik9-appointment-summary .qr-code-vevent img,.ik9-appointment-summary .qr-code-vevent canvas {max-width:100%;height:auto;}
/* Preserve disabled/loading/display states of engine controls, including QR and
   print modes. Never make hidden payment or appointment actions visible. */
@media(max-width:640px) {
    body.latepoint-clean-body.ik9-appointment-document {padding:12px 10px;}
    .ik9-as-header {padding:18px 16px 16px;}
    .ik9-as-brand {gap:14px;margin-bottom:16px;}
    .ik9-as-brand .ik9-as-logo {width:88px;height:66px;}
    .ik9-as-header .ik9-as-wordmark h2 {font-size:23px;}
    .ik9-appointment-summary > .full-summary-info-w {padding:0 16px 20px;}
    .ik9-appointment-summary > .full-summary-head-info:not(:empty) {padding:0 16px;}
    .ik9-appointment-summary .ik9-as-status .booking-confirmation {margin-left:0;}
    .latepoint-w .ik9-appointment-summary .summary-boxes-columns {grid-template-columns:minmax(0,1fr);gap:12px;}
    .latepoint-w .ik9-appointment-summary .summary-boxes-columns > .summary-box {padding:16px;}
    .ik9-appointment-summary .summary-box.main-box {gap:12px;flex-wrap:wrap;}
    .ik9-appointment-summary .summary-box.main-box .summary-box-inner {flex-basis:calc(100% - 80px);}
    .ik9-appointment-summary .summary-box.main-box .qr-show-trigger {margin-left:66px;max-width:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;}
    .ik9-appointment-summary .summary-box.main-box .qr-show-trigger .qr-code-trigger-label {font-size:13px;margin:0;}
    .ik9-appointment-summary .booking-full-summary-actions {margin:14px 0 20px;gap:8px;}
    .ik9-appointment-summary .booking-full-summary-actions .booking-summary-action-btn {flex:1 1 auto;}
    .ik9-appointment-summary .summary-price-breakdown-wrapper {padding:16px;margin-top:16px;}
    .ik9-appointment-summary .summary-price-item-w.spi-total {font-size:19px;}
    .ik9-as-lightbox .latepoint-lightbox-content {padding:0;}
}
@media(max-width:360px) {
    .ik9-as-brand {gap:10px;}
    .ik9-as-brand .ik9-as-logo {width:70px;height:60px;}
    .ik9-as-header .ik9-as-wordmark h2 {font-size:22px;}
    .ik9-appointment-summary .booking-full-summary-actions .booking-summary-action-btn {font-size:13px;padding:10px;}
}
@media print {
    body.latepoint-clean-body.ik9-appointment-document {padding:0!important;background:#fff!important;}
    .latepoint-w .manage-booking-wrapper.ik9-as-manage {max-width:none;box-shadow:none;border:0;}
    .ik9-appointment-summary,.ik9-as-header {font-size:11pt;}
    .ik9-as-header {padding:8px 0 16px;border-top:3px solid #c91424;}
    .ik9-appointment-summary > .full-summary-info-w {padding:0;}
    .ik9-appointment-summary .booking-full-summary-actions,.ik9-appointment-summary .qr-show-trigger {display:none!important;}
    .ik9-appointment-summary .ik9-as-status {flex-direction:row!important;}
    .ik9-appointment-summary .ik9-as-status .booking-status-label,.ik9-appointment-summary .ik9-as-status .booking-confirmation {font-size:11pt;}
    .ik9-appointment-summary .summary-box,.ik9-appointment-summary .summary-price-breakdown-wrapper {break-inside:avoid;}
    .ik9-as-contact a.ik9-as-call {padding:0;border:0;background:none;color:#191c20;}
    .ik9-appointment-summary .summary-price-breakdown-wrapper {background:#fff;border-color:#999;}
    .ik9-appointment-summary .summary-boxes-columns .summary-box-content .sbc-content-i {margin:0;}
}

.ik9-appointment-summary .show-vevent-qr-code .qr-show-trigger {display:none!important;}

.ik9-appointment-summary [hidden] {display:none!important;}
.latepoint-lightbox-i.ik9-as-lightbox {width:calc(100vw - 24px);max-width:900px;min-width:0;}
.ik9-as-lightbox .latepoint-lightbox-content.is-dotted::before {display:none;}
.latepoint-print-summary-w.ik9-as-print {max-width:900px;width:100%;box-sizing:border-box;margin:0 auto;padding:20px;}
@media print {.latepoint-print-summary-w.ik9-as-print {max-width:none;padding:0;}}
