:root{font-family:"Segoe UI",Arial,sans-serif;color:#1d2925;background:#eef2f0;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:#eef2f0;color:#1d2925}.exilles-page{min-height:100vh}.exilles-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:26px 0 44px}.exilles-brand{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#182638;color:#fff;border-radius:12px 12px 0 0}.exilles-brand span{font-weight:700;letter-spacing:.04em}.exilles-brand small{font-size:11px;letter-spacing:.14em;color:#cfd8d4}.exilles-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;background:#fff;padding:42px;border:1px solid #dce4df;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 10px 32px rgba(24,38,56,.07)}.exilles-kicker{display:block;color:#2f6f4c;font-size:12px;font-weight:800;letter-spacing:.12em}.exilles-hero h1{margin:12px 0 14px;font-size:clamp(32px,4.6vw,52px);line-height:.98;letter-spacing:-.045em;color:#182638}.exilles-hero-copy>p{max-width:660px;color:#5e6c66;font-size:17px;margin:0 0 30px}.exilles-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.exilles-facts div{padding:15px;border:1px solid #dce4df;border-radius:10px;background:#f8faf9}.exilles-facts small,.exilles-ticket-heading>span,.exilles-status-kicker{display:block;color:#6c7a74;font-size:10px;font-weight:800;letter-spacing:.1em}.exilles-facts strong,.exilles-facts span{display:block}.exilles-facts strong{margin-top:5px;font-size:14px}.exilles-facts span{font-size:12px;color:#69766f}.exilles-rules{align-self:stretch;padding:24px;background:#f0f7f3;border:1px solid #cfe0d6;border-radius:12px}.exilles-rules>strong{font-size:18px;color:#255b3f}.exilles-rules p{margin:14px 0 0}.exilles-rules-note{padding-top:14px;border-top:1px solid #d4e3da;color:#617168;font-size:12px}.exilles-alert{margin:20px 0 0;padding:15px 18px;border:1px solid #e0d7b5;background:#fff9e7;border-radius:10px;display:flex;gap:10px;align-items:baseline}.exilles-alert.is-error{border-color:#e6caca;background:#fff3f3}.exilles-checkout{display:grid;gap:18px;margin-top:20px}.exilles-card{background:#fff;border:1px solid #dce4df;border-radius:14px;padding:24px;box-shadow:0 4px 18px rgba(24,38,56,.04)}.exilles-card>header{display:flex;gap:13px;align-items:center;margin-bottom:20px}.exilles-card>header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#2f6f4c;color:#fff;font-weight:800;font-size:12px}.exilles-card header small{display:block;color:#6b7872;font-size:10px;font-weight:800;letter-spacing:.11em}.exilles-card h2{margin:2px 0 0;font-size:20px;color:#182638}.exilles-quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exilles-quantity-grid label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid #dce4df;border-radius:10px;background:#fafcfb}.exilles-quantity-grid label span strong,.exilles-quantity-grid label span small{display:block}.exilles-quantity-grid label span small{margin-top:3px;color:#6a7771}.exilles-quantity-grid input{width:76px;height:44px;border:1px solid #c9d5cf;border-radius:8px;text-align:center;font:700 16px "Segoe UI",Arial,sans-serif}.exilles-total{display:flex;justify-content:flex-end;align-items:baseline;gap:15px;margin-top:18px;padding-top:16px;border-top:1px solid #e3e9e6}.exilles-total span{color:#6c7872}.exilles-total strong{font-size:24px;color:#255b3f}.exilles-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.exilles-fields label{display:grid;gap:6px}.exilles-fields label.is-wide{grid-column:1/-1}.exilles-fields label span{font-size:12px;font-weight:700;color:#4b5953}.exilles-fields input{height:44px;padding:0 12px;border:1px solid #ccd7d1;border-radius:8px;background:#fff;font:14px "Segoe UI",Arial,sans-serif;color:#182638;outline:none}.exilles-fields input:focus{border-color:#4a8062;box-shadow:0 0 0 3px rgba(47,111,76,.1)}.is-uppercase{text-transform:uppercase}.exilles-payments{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.exilles-payments label{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid #dce4df;border-radius:10px;cursor:pointer;background:#fff}.exilles-payments label:has(input:checked){border-color:#4c8263;background:#f1f8f4}.exilles-payments input{margin-top:3px;accent-color:#2f6f4c}.exilles-payments strong,.exilles-payments small{display:block}.exilles-payments small{margin-top:3px;color:#6b7872;font-size:11px}.exilles-consent{display:grid;gap:9px;background:#f8faf9;border:1px solid #dce4df;border-radius:12px;padding:17px}.exilles-consent label{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#58665f}.exilles-consent input{margin-top:2px;accent-color:#2f6f4c}.exilles-buy{min-height:58px;border:0;border-radius:12px;background:#2f6f4c;color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font:700 16px "Segoe UI",Arial,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(47,111,76,.18)}.exilles-buy:disabled{cursor:not-allowed;background:#8fa39a;box-shadow:none}.exilles-buy strong{font-size:19px}.exilles-security{text-align:center;margin:0;color:#68756f;font-size:12px}.exilles-footer{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding:0 4px;color:#6f7b75;font-size:12px}.exilles-footer strong{color:#47544e}.exilles-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.exilles-confirmation{max-width:840px}.exilles-status-card{margin-top:20px;text-align:center;padding:34px}.exilles-status-card h1{font-size:32px;color:#182638;margin:8px 0}.exilles-status-card.is-paid{border-color:#a8d3b8}.exilles-status-card.is-pending{border-color:#dfd3a7}.exilles-order-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0}.exilles-order-summary div{padding:12px;background:#f7faf8;border:1px solid #e0e7e3;border-radius:9px}.exilles-order-summary small,.exilles-order-summary strong{display:block}.exilles-order-summary small{font-size:10px;color:#6a7771}.exilles-order-summary strong{margin-top:4px;font-size:13px}.exilles-primary-link,.exilles-ticket-actions button,.exilles-ticket-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:9px;border:0;background:#2f6f4c;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.is-hidden{display:none!important}.exilles-payment-instructions{margin:22px auto 0;max-width:560px;text-align:left;border:1px solid #dce4df;border-radius:10px;padding:18px;background:#fafcfb}.exilles-payment-instructions h2{margin-top:0}.exilles-payment-instructions p small,.exilles-payment-instructions p strong{display:block}.exilles-payment-instructions .is-note{font-size:12px;color:#637069}.exilles-waiting{font-size:12px;color:#65726c;margin:18px 0 0}.exilles-ticket-heading{margin-top:18px;background:#fff;border:1px solid #dce4df;border-radius:14px;padding:25px}.exilles-ticket-heading h1{margin:6px 0;color:#182638}.exilles-ticket-grid{display:grid;gap:15px;margin-top:15px}.exilles-ticket{position:relative;display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:center;background:#fff;border:1px solid #dce4df;border-radius:14px;padding:25px;overflow:hidden}.exilles-ticket-copy h2{font-size:26px;margin:8px 0;color:#182638}.exilles-ticket-type{font-size:11px;font-weight:800;letter-spacing:.08em;color:#2f6f4c}.exilles-ticket-code{display:block;margin:20px 0 3px;font-size:20px;letter-spacing:.06em}.exilles-ticket-copy small{color:#67736d}.exilles-ticket-qr{min-width:190px;min-height:190px;display:grid;place-items:center}.exilles-ticket-qr img,.exilles-ticket-qr canvas{max-width:100%;height:auto}.exilles-ticket-used{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#9b2f2f;font-weight:900;font-size:22px;letter-spacing:.06em}.exilles-ticket-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.exilles-ticket-actions a{background:#53656f}@media(max-width:820px){.exilles-hero{grid-template-columns:1fr;padding:28px}.exilles-facts,.exilles-quantity-grid,.exilles-fields,.exilles-payments,.exilles-order-summary{grid-template-columns:1fr}.exilles-fields label.is-wide{grid-column:auto}.exilles-shell{width:min(100% - 18px,1120px);padding-top:10px}.exilles-hero h1{font-size:36px}.exilles-footer{flex-direction:column;gap:5px;align-items:flex-start}.exilles-ticket{grid-template-columns:1fr;text-align:center}.exilles-ticket-qr{margin:auto}}@media print{body{background:#fff}.exilles-brand,.exilles-ticket-heading,.exilles-ticket-actions,.exilles-footer{display:none!important}.exilles-shell{width:100%;padding:0}.exilles-ticket{break-inside:avoid;box-shadow:none;margin:0 0 10px}}


/* Esoterika 5.0.20 - metodi manuali sempre visibili. */
.exilles-payments label.is-unconfigured{opacity:.62;background:#f7f8f7;border-style:dashed;cursor:not-allowed}
.exilles-payments label.is-unconfigured input{cursor:not-allowed}
.exilles-payments label.is-unconfigured strong{color:#52605a}
.exilles-payments label.is-unconfigured small{color:#7b8781}

/* Esoterika 5.0.21 - titolo evento piu compatto. */

/* Esoterika 5.0.26 - biglietto cumulativo. */
.exilles-ticket-admission{display:grid;gap:3px;margin:15px 0;padding:13px 15px;border:2px solid #2f6f4c;border-radius:10px;background:#f0f8f3;color:#255b3f}
.exilles-ticket-admission strong{font-size:28px;line-height:1;font-weight:900;letter-spacing:.025em}
.exilles-ticket-admission span{font-size:14px;font-weight:800;color:#344c40}

/* Esoterika 5.0.27 - esito reale richiesta pagamento. */
.exilles-status-card.is-error{border-color:#d99a9a;background:#fffafa}
.exilles-status-card.is-error h1{color:#9a2c2c}

/* Esoterika 5.0.30 - biglietto sobrio, responsive e stampa A4 su una pagina. */
.exilles-ticket-page {
    background: #edf1ef;
    color: #25312c;
}

.exilles-ticket-shell {
    width: min(860px, calc(100% - 28px));
    padding: 24px 0 36px;
}

.ticket-document {
    overflow: hidden;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(29, 47, 39, .06);
}

.ticket-document-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: start;
    padding: 22px 24px;
    border-bottom: 1px solid #dce3df;
}

.ticket-company,
.ticket-document-meta {
    display: grid;
    gap: 3px;
    color: #66726c;
    font-size: 11px;
    line-height: 1.4;
}

.ticket-company-name {
    margin-bottom: 4px;
    color: #1d2924;
    font-size: 16px;
    font-weight: 550;
    letter-spacing: .015em;
}

.ticket-document-meta {
    min-width: 155px;
    text-align: right;
    color: #48564f;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.ticket-document-meta span:first-child {
    color: #2f6f4c;
    font-size: 10px;
}

.ticket-document-intro {
    padding: 23px 24px 20px;
}

.ticket-document-intro > span,
.ticket-special-notes > span {
    display: block;
    color: #6d7973;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ticket-document-intro h1 {
    margin: 5px 0 4px;
    color: #1d2924;
    font-size: clamp(24px, 4vw, 33px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.02em;
}

.ticket-document-intro p {
    margin: 0;
    color: #56635d;
    font-size: 13px;
}

.ticket-document .exilles-ticket-grid {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0 24px 22px;
}

.ticket-document .exilles-ticket {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 188px;
    gap: 22px;
    align-items: center;
    padding: 20px;
    border: 1px solid #d9e1dd;
    border-radius: 6px;
    background: #fcfdfc;
    box-shadow: none;
}

.ticket-document .exilles-ticket-type {
    color: #5a6861;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ticket-document .exilles-ticket-admission {
    display: grid;
    gap: 4px;
    margin: 11px 0 15px;
    padding: 11px 12px;
    border: 1px solid #cbd8d1;
    border-radius: 4px;
    background: #f5f8f6;
    color: #2b3932;
}

.ticket-document .ticket-admission-count {
    color: #203029;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.1;
}

.ticket-document .exilles-ticket-admission span:last-child {
    color: #536159;
    font-size: 13px;
    font-weight: 400;
}

.ticket-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 0;
}

.ticket-details div {
    min-width: 0;
}

.ticket-details dt {
    margin: 0 0 2px;
    color: #7a847f;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ticket-details dd {
    margin: 0;
    color: #29362f;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ticket-qr-column {
    display: grid;
    justify-items: center;
    gap: 7px;
    color: #66726c;
    font-size: 9px;
    text-align: center;
}

.ticket-document .exilles-ticket-qr {
    width: 176px;
    height: 176px;
    min-width: 0;
    min-height: 0;
    padding: 7px;
    border: 1px solid #e1e6e3;
    background: #fff;
}

.ticket-document .exilles-ticket-qr img,
.ticket-document .exilles-ticket-qr canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
    image-rendering: pixelated;
}

.ticket-special-notes {
    grid-column: 1 / -1;
    padding-top: 14px;
    border-top: 1px solid #e0e6e2;
}

.ticket-special-notes p {
    margin: 5px 0 0;
    color: #3e4b44;
    font-size: 12px;
    line-height: 1.45;
}

.ticket-document .exilles-ticket-used {
    color: #8a3030;
    font-size: 18px;
    font-weight: 550;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ticket-document-footer {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 24px 16px;
    border-top: 1px solid #dce3df;
    color: #727d77;
    font-size: 9px;
    line-height: 1.4;
}

.exilles-ticket-page .exilles-ticket-actions button,
.exilles-ticket-page .exilles-ticket-actions a {
    border-radius: 6px;
    font-weight: 500;
    box-shadow: none;
}

@media (max-width: 620px) {
    .exilles-ticket-shell {
        width: min(100% - 14px, 860px);
        padding: 7px 0 24px;
    }

    .ticket-document-header {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 17px;
    }

    .ticket-document-meta {
        min-width: 0;
        padding-top: 10px;
        border-top: 1px solid #e2e7e4;
        text-align: left;
    }

    .ticket-document-intro {
        padding: 18px 17px 16px;
    }

    .ticket-document-intro h1 {
        font-size: 25px;
    }

    .ticket-document .exilles-ticket-grid {
        padding: 0 10px 16px;
    }

    .ticket-document .exilles-ticket {
        grid-template-columns: 1fr;
        gap: 17px;
        padding: 16px;
        text-align: left;
    }

    .ticket-details {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ticket-document .exilles-ticket-qr {
        width: min(176px, 66vw);
        height: min(176px, 66vw);
    }

    .ticket-document-footer {
        display: grid;
        gap: 5px;
        padding: 13px 17px 15px;
    }

    .exilles-ticket-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@page {
    size: A4 portrait;
    margin: 8mm;
}

@media print {
    html,
    body,
    body.exilles-ticket-page {
        width: auto !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    .exilles-ticket-shell {
        width: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ticket-document {
        width: 100% !important;
        margin: 0 !important;
        border: .25mm solid #bfc9c3;
        border-radius: 0;
        box-shadow: none;
        break-inside: avoid-page;
        page-break-inside: avoid;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .ticket-document-header {
        padding: 5mm 6mm;
    }

    .ticket-document-intro {
        padding: 5mm 6mm 4mm;
    }

    .ticket-document-intro h1 {
        font-size: 22pt;
    }

    .ticket-document .exilles-ticket-grid {
        padding: 0 6mm 5mm;
    }

    .ticket-document .exilles-ticket {
        grid-template-columns: minmax(0, 1fr) 46mm;
        gap: 5mm;
        padding: 5mm;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .ticket-document .exilles-ticket-qr {
        width: 43mm;
        height: 43mm;
    }

    .ticket-details {
        gap: 2.5mm 4mm;
    }

    .ticket-document-footer {
        padding: 3.5mm 6mm 4mm;
    }

    .exilles-ticket-actions {
        display: none !important;
    }
}

/* Esoterika 6.0.6 - pagina evento e checkout in due fasi. */
.exilles-purchase-page {
    background: #edf1ef;
    color: #27322d;
    font-weight: 400;
}

.exilles-purchase-page strong,
.exilles-purchase-page b {
    font-weight: 500;
}

.exilles-purchase-shell {
    width: min(1040px, calc(100% - 28px));
    padding-top: 20px;
}

.exilles-purchase-brand {
    padding: 13px 18px;
    border: 1px solid #1b2a3a;
    border-radius: 7px 7px 0 0;
    box-shadow: none;
}

.exilles-purchase-brand span {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
}

.exilles-event-cover {
    overflow: hidden;
    border: 1px solid #cbd4cf;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: #102133;
}

.exilles-event-cover img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1690 / 931;
    object-fit: cover;
}

.exilles-purchase-page .exilles-alert {
    margin-top: 16px;
    padding: 12px 15px;
    border-width: 1px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 12px;
}

.exilles-checkout-wizard {
    gap: 0;
    margin-top: 16px;
}

.exilles-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #cfd8d3;
    border-radius: 7px;
    background: #f7f9f8;
}

.exilles-steps button {
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-right: 1px solid #d8dfdb;
    background: transparent;
    color: #6b7670;
    font: 400 12px "Segoe UI", Arial, sans-serif;
    text-align: left;
}

.exilles-steps button:last-child {
    border-right: 0;
}

.exilles-steps button span {
    margin-right: 9px;
    color: #8a948f;
    letter-spacing: .08em;
}

.exilles-steps button.is-current {
    background: #fff;
    color: #213029;
}

.exilles-steps button.is-current span {
    color: #2f6f4c;
}

.exilles-step {
    margin-top: 14px;
}

.exilles-product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 0;
    overflow: visible;
    border: 1px solid #cfd8d3;
    border-radius: 7px;
    background: #fff;
    box-shadow: none;
}

.exilles-product-description {
    padding: 34px 36px 38px;
    border-right: 1px solid #d8dfdb;
}

.exilles-purchase-page .exilles-kicker,
.exilles-panel-kicker,
.exilles-checkout-heading > div > span {
    display: block;
    color: #557163;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .11em;
}

.exilles-product-description h1,
.exilles-checkout-heading h1 {
    margin: 8px 0 15px;
    color: #1d2924;
    font-size: clamp(28px, 4.3vw, 42px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.exilles-product-description .exilles-lead {
    margin: 0;
    color: #4e5b55;
    font-size: 16px;
    line-height: 1.65;
}

.exilles-event-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 25px 0 29px;
    border-top: 1px solid #dce2df;
    border-left: 1px solid #dce2df;
}

.exilles-event-facts div {
    min-width: 0;
    padding: 13px 14px;
    border-right: 1px solid #dce2df;
    border-bottom: 1px solid #dce2df;
}

.exilles-event-facts span {
    color: #7b8680;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.exilles-event-facts p {
    margin: 4px 0 0;
    color: #2d3933;
    font-size: 13px;
}

.exilles-product-description h2 {
    margin: 28px 0 8px;
    color: #25312b;
    font-size: 18px;
    font-weight: 400;
}

.exilles-product-description > p:not(.exilles-lead):not(.exilles-organizers),
.exilles-story-note p {
    margin: 0 0 12px;
    color: #56635d;
    font-size: 13px;
    line-height: 1.65;
}

.exilles-story-note {
    margin: 24px 0 4px;
    padding: 17px 18px;
    border: 1px solid #d5ddd9;
    border-left: 2px solid #6b8578;
    background: #f7f9f8;
}

.exilles-story-note > span {
    display: block;
    margin-bottom: 6px;
    color: #3f5148;
    font-size: 11px;
    letter-spacing: .04em;
}

.exilles-story-note p {
    margin: 0;
}

.exilles-information-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.exilles-information-list li {
    position: relative;
    padding-left: 15px;
    color: #56635d;
    font-size: 13px;
    line-height: 1.5;
}

.exilles-information-list li::before {
    content: "";
    position: absolute;
    top: .7em;
    left: 0;
    width: 5px;
    height: 1px;
    background: #71827a;
}

.exilles-organizers {
    margin: 24px 0 0;
    padding-top: 14px;
    border-top: 1px solid #e0e5e2;
    color: #66736c;
    font-size: 11px;
}

.exilles-purchase-panel {
    position: sticky;
    top: 14px;
    align-self: start;
    padding: 28px 25px;
    background: #fafbfa;
}

.exilles-purchase-panel h2 {
    margin: 6px 0 8px;
    color: #25312b;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.25;
}

.exilles-purchase-panel > p {
    margin: 0 0 21px;
    color: #68746e;
    font-size: 12px;
    line-height: 1.5;
}

.exilles-quantity-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px;
    gap: 12px;
    align-items: center;
    padding: 13px 0;
    border-top: 1px solid #dce2df;
    border-bottom: 1px solid #dce2df;
    color: #3f4c46;
    font-size: 12px;
}

.exilles-quantity-control input {
    width: 74px;
    height: 42px;
    border: 1px solid #c8d2cd;
    border-radius: 4px;
    background: #fff;
    color: #26322c;
    font: 400 16px "Segoe UI", Arial, sans-serif;
    text-align: center;
}

.exilles-availability,
.exilles-purchase-page .exilles-total {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 13px 0;
    border-top: 0;
    border-bottom: 1px solid #dce2df;
    color: #69756f;
    font-size: 12px;
}

.exilles-purchase-page .exilles-total {
    align-items: baseline;
}

.exilles-purchase-page .exilles-total span:last-child {
    color: #27342d;
    font-size: 20px;
    font-weight: 400;
}

.exilles-continue,
.exilles-clean-buy {
    width: 100%;
    min-height: 48px;
    margin-top: 18px;
    border: 1px solid #2f6f4c;
    border-radius: 5px;
    background: #2f6f4c;
    color: #fff;
    font: 400 14px "Segoe UI", Arial, sans-serif;
    cursor: pointer;
    box-shadow: none;
}

.exilles-continue:hover,
.exilles-clean-buy:hover {
    background: #285f41;
}

.exilles-continue:disabled,
.exilles-clean-buy:disabled {
    border-color: #9aaba2;
    background: #9aaba2;
    cursor: not-allowed;
}

.exilles-panel-note {
    margin: 9px 0 0 !important;
    color: #7b8580 !important;
    font-size: 10px !important;
    text-align: center;
}

.exilles-checkout-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-bottom: 14px;
    padding: 22px 24px;
    border: 1px solid #cfd8d3;
    border-radius: 7px;
    background: #fff;
}

.exilles-checkout-heading h1 {
    margin: 4px 0 3px;
    font-size: 25px;
}

.exilles-checkout-heading p {
    margin: 0;
    color: #6b7771;
    font-size: 12px;
}

.exilles-back {
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: #4f685b;
    font: 400 12px "Segoe UI", Arial, sans-serif;
    cursor: pointer;
}

.exilles-order-total {
    display: grid;
    gap: 2px;
    min-width: 120px;
    text-align: right;
}

.exilles-order-total span:first-child {
    color: #7a857f;
    font-size: 9px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.exilles-order-total span:last-child {
    color: #28352e;
    font-size: 20px;
}

.exilles-clean-card {
    margin-bottom: 12px;
    padding: 24px;
    border-radius: 7px;
    box-shadow: none;
}

.exilles-clean-card > header > span {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #607169;
    font-weight: 400;
}

.exilles-clean-card header small {
    font-weight: 400;
}

.exilles-clean-card h2 {
    font-weight: 400;
}

.exilles-purchase-page .exilles-fields {
    gap: 13px;
}

.exilles-purchase-page .exilles-fields label {
    position: relative;
}

.exilles-purchase-page .exilles-fields label > span:first-child {
    color: #56635d;
    font-size: 11px;
    font-weight: 400;
}

.exilles-purchase-page .exilles-fields input,
.exilles-purchase-page .exilles-fields select {
    width: 100%;
    height: 44px;
    padding: 0 11px;
    border: 1px solid #cbd5d0;
    border-radius: 4px;
    background: #fff;
    color: #27332d;
    font: 400 14px "Segoe UI", Arial, sans-serif;
    outline: none;
}

.exilles-purchase-page .exilles-fields input:focus,
.exilles-purchase-page .exilles-fields select:focus {
    border-color: #64806f;
    box-shadow: 0 0 0 2px rgba(67, 105, 84, .08);
}

.exilles-purchase-page .exilles-fields input.is-invalid,
.exilles-purchase-page .exilles-fields select.is-invalid {
    border-color: #a94b4b;
    box-shadow: 0 0 0 2px rgba(169, 75, 75, .08);
}

.exilles-phone-row {
    display: grid !important;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: 8px;
}

.exilles-field-help {
    color: #7b8580;
    font-size: 10px;
    font-weight: 400;
}

.exilles-field-help.is-error {
    color: #984141;
}

.exilles-autocomplete {
    z-index: 3;
}

.exilles-suggestions {
    position: absolute;
    z-index: 20;
    top: calc(100% + 3px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid #cbd5d0;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 45, 38, .1);
}

.exilles-suggestions button,
.exilles-suggestion-empty {
    display: grid;
    width: 100%;
    gap: 2px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #e3e8e5;
    background: #fff;
    color: #2c3932;
    font: 400 12px "Segoe UI", Arial, sans-serif;
    text-align: left;
}

.exilles-suggestions button:last-child {
    border-bottom: 0;
}

.exilles-suggestions button:hover {
    background: #f3f6f4;
}

.exilles-suggestions button small {
    color: #748079;
    font-size: 10px;
}

.exilles-suggestion-empty {
    color: #748079;
}

.exilles-purchase-page .exilles-payments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exilles-purchase-page .exilles-payments label {
    min-height: 70px;
    border-radius: 4px;
    font-weight: 400;
}

.exilles-purchase-page .exilles-payments label > span > span {
    display: block;
    color: #303d36;
    font-size: 13px;
}

.exilles-clean-consent {
    margin-top: 0;
    border-radius: 7px;
    background: #f7f9f8;
}

.exilles-clean-buy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 19px;
}

.exilles-purchase-page .exilles-footer span:first-child {
    color: #47544e;
}

@media (max-width: 820px) {
    .exilles-purchase-shell {
        width: min(100% - 14px, 1040px);
        padding-top: 7px;
    }

    .exilles-product-layout {
        grid-template-columns: 1fr;
    }

    .exilles-product-description {
        padding: 25px 20px 28px;
        border-right: 0;
        border-bottom: 1px solid #d8dfdb;
    }

    .exilles-purchase-panel {
        position: static;
        padding: 23px 20px;
    }

    .exilles-checkout-heading {
        grid-template-columns: 1fr auto;
        padding: 18px;
    }

    .exilles-back {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .exilles-purchase-page .exilles-fields,
    .exilles-purchase-page .exilles-payments {
        grid-template-columns: 1fr;
    }

    .exilles-purchase-page .exilles-fields label.is-wide {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .exilles-event-cover img {
        aspect-ratio: 4 / 3;
        object-position: 62% center;
    }

    .exilles-steps button {
        min-height: 44px;
        padding: 0 10px;
        font-size: 10px;
    }

    .exilles-event-facts {
        grid-template-columns: 1fr;
    }

    .exilles-product-description h1 {
        font-size: 30px;
    }

    .exilles-phone-row {
        grid-template-columns: 1fr;
    }

    .exilles-clean-card {
        padding: 19px 16px;
    }

    .exilles-checkout-heading {
        grid-template-columns: 1fr;
    }

    .exilles-order-total {
        min-width: 0;
        text-align: left;
    }
}
