:root{--swb-purple:#80658e;--swb-purple-light:#eee6f1;--swb-lilac:#a98ab4;--swb-sage:#8a7d8f;--swb-green:#6b626d;--swb-cream:#fbf8f3;--swb-paper:#fffdf9;--swb-gold:#b79a72;--swb-text:#4d514d;--swb-border:#ded4df;--swb-error:#9a5b56}
.swb-customer-app,.swb-account-page{font-family:Georgia,'Times New Roman',serif;color:var(--swb-text);background:radial-gradient(circle at 8% 15%,rgba(169,138,180,.13),transparent 28%),radial-gradient(circle at 92% 12%,rgba(127,144,121,.13),transparent 30%),linear-gradient(135deg,#fcfaf6,#f6f0ea);border-radius:28px;padding:28px;box-sizing:border-box;overflow:hidden}.swb-customer-app *,.swb-account-page *{box-sizing:border-box}.swb-customer-hero{max-width:1180px;margin:0 auto 20px;display:flex;align-items:center;gap:18px;padding:10px 8px}.swb-brand-mark,.swb-account-brand{width:58px;height:58px;border-radius:50%;background:#f0e8f2;border:1px solid #ddd0e1;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 7px 22px rgba(100,75,110,.09)}.swb-customer-kicker{font-size:10px;letter-spacing:.25em;color:var(--swb-sage);font-weight:700}.swb-customer-hero h1{font-size:34px;line-height:1.1;color:#67516f;margin:5px 0}.swb-customer-hero p{margin:0;color:#788178;font-size:14px}.swb-progress{max-width:1180px;margin:0 auto 22px;display:flex;justify-content:center;gap:0;overflow:auto;padding:4px 0 10px}.swb-progress span{font:700 10px/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#9a9794;padding:10px 15px;border-bottom:2px solid #ddd7d2;white-space:nowrap}.swb-progress span.active{color:var(--swb-purple);border-color:var(--swb-purple)}.swb-booking-shell{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.swb-booking-main{min-width:0}.swb-booking-step{display:none;background:rgba(255,253,249,.94);border:1px solid rgba(224,215,205,.9);border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(80,65,55,.07)}.swb-booking-step.active{display:block}.swb-step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.swb-step-heading>span{font-size:12px;letter-spacing:.1em;color:var(--swb-purple);padding-top:5px}.swb-step-heading h2{font-size:28px;line-height:1.15;color:#69516f;margin:0 0 6px}.swb-step-heading p{font-size:14px;color:#7b837d;margin:0;line-height:1.5}.swb-form-card{background:#fffefa;border:1px solid #e5ddd5;border-radius:17px;padding:20px}.swb-form-card label,.swb-pet-card label{display:grid;gap:7px;font-size:12px;color:#656c66;margin-bottom:14px}.swb-form-card input,.swb-form-card select,.swb-pet-card input,.swb-pet-card select{width:100%;border:1px solid #cdb8d6;border-radius:11px;background:#fffdfb;padding:13px 14px;font:15px Georgia,serif;color:#4d514d;outline:none}.swb-form-card input:focus,.swb-pet-card input:focus,.swb-pet-card select:focus{border-color:var(--swb-purple);box-shadow:0 0 0 3px rgba(128,101,142,.1)}.swb-form-card small,.swb-pet-card label span{font-size:11px;color:#8b918b}.swb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.swb-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.swb-date-grid label{display:grid;gap:8px;font-size:12px;color:#666d67}.swb-date-grid input{border:1px solid #cdb8d6;border-radius:12px;background:#fff;padding:14px;font:16px Georgia,serif}.swb-count-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.swb-count-card{border:1px solid #e1d8d0;background:#fffdfa;border-radius:18px;padding:25px;text-align:center;box-shadow:0 8px 24px rgba(80,65,55,.04)}.swb-count-icon{font-size:38px;margin-bottom:7px}.swb-count-card strong{display:block;color:var(--swb-green);font-size:18px;margin-bottom:17px}.swb-count-card button{border:1px solid #cdb8d6;background:#faf5fb;color:var(--swb-purple);border-radius:50%;width:36px;height:36px;font:20px Georgia;vertical-align:middle;cursor:pointer}.swb-count-card b{display:inline-block;min-width:48px;color:#66536c;font-size:22px}.swb-customer-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:28px;border:1px solid var(--swb-lilac);background:#fffafc;color:#704f7b;text-decoration:none;font:16px Georgia,serif;cursor:pointer;transition:.18s ease}.swb-customer-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(80,60,90,.1)}.swb-customer-button.primary{background:linear-gradient(135deg,#9b7ca7,#80658e);border-color:#80658e;color:#fff}.swb-customer-button:disabled{opacity:.55;cursor:wait}.swb-text-button{border:0;background:none;color:#765d80;font:14px Georgia,serif;margin-top:15px;cursor:pointer}.swb-booking-step>.swb-customer-button{margin-top:20px}.swb-inline-message{min-height:20px;margin-top:12px;font:13px Arial,sans-serif;color:#66716b}.swb-inline-message.error{color:var(--swb-error);background:#fff1ee;border:1px solid #ecd0c9;border-radius:10px;padding:10px}.swb-option-list,.swb-addon-list,.swb-pet-list{display:grid;gap:14px}.swb-accommodation-option{width:100%;display:grid;grid-template-columns:35px 1fr;text-align:left;gap:8px;border:1px solid #ded4df;border-radius:18px;background:#fffdf9;padding:15px;cursor:pointer;color:inherit}.swb-accommodation-option:hover,.swb-accommodation-option.selected{border-color:#9d7eaa;box-shadow:0 9px 24px rgba(90,65,100,.08)}.swb-accommodation-option.selected{background:#fbf7fc}.swb-option-check{width:27px;height:27px;border-radius:50%;background:#f0e8f2;color:#9b7da8;display:flex;align-items:center;justify-content:center;font-size:12px}.swb-option-title{font-size:19px;color:#67516f;margin-bottom:10px}.swb-accommodation-line{display:flex;gap:12px;padding:9px 0;border-top:1px solid #eee8e1}.swb-accommodation-line img,.swb-option-placeholder{width:70px;height:60px;border-radius:12px;object-fit:cover;background:#f1ece5;display:flex;align-items:center;justify-content:center;font-size:25px}.swb-accommodation-line div:last-child{display:grid;align-content:center;gap:3px}.swb-accommodation-line strong{font-size:14px;color:var(--swb-green)}.swb-accommodation-line span,.swb-accommodation-line small{font:11px Arial,sans-serif;color:#7b837d}.swb-option-footer{display:flex;justify-content:space-between;border-top:1px solid #e9e2da;margin-top:6px;padding-top:12px;color:#777f78;font:12px Arial,sans-serif}.swb-option-footer strong{font:18px Georgia;color:var(--swb-purple)}.swb-addon-card{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid #e1d8d0;border-radius:16px;padding:16px;background:#fffdfa;cursor:pointer}.swb-addon-main{display:flex;gap:12px;align-items:flex-start}.swb-addon-main input{margin-top:4px;accent-color:var(--swb-purple)}.swb-addon-main strong{display:block;color:var(--swb-green);font-size:15px}.swb-addon-main span{display:block;color:#7a817b;font:12px Arial,sans-serif;margin-top:4px}.swb-addon-price{color:var(--swb-purple);font-size:17px;white-space:nowrap}.swb-addon-price small{display:block;font:10px Arial;color:#8b7b90}.swb-review-card,.swb-payment-card{border:1px solid #e1d8d0;border-radius:18px;background:#fffdfa;padding:6px 18px}.swb-review-row{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid #eee7df}.swb-review-row>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a8e89}.swb-review-row strong{display:block;color:var(--swb-green);font-size:14px;margin-bottom:3px}.swb-review-row em{font-style:normal;color:#999}.swb-review-total,.swb-review-deposit{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.swb-review-total{font-size:15px;color:var(--swb-green)}.swb-review-total strong{font-size:24px;color:var(--swb-purple)}.swb-review-deposit{border-top:1px solid #e9e1da;font-size:13px;color:#777f78}.swb-review-deposit strong{font-size:18px;color:var(--swb-green)}.swb-account-tabs{display:flex;gap:8px;margin-bottom:15px}.swb-account-tabs button{border:1px solid #dacddf;background:#fff;border-radius:20px;padding:10px 15px;color:#80658e;font:13px Georgia;cursor:pointer}.swb-account-tabs button.active{background:#eee6f1}.swb-account-already{padding:12px 4px}.swb-account-already strong{color:var(--swb-purple);font-size:17px}.swb-account-already p{color:#777f78}.swb-pet-card{border:1px solid #e1d8d0;border-radius:18px;padding:18px;background:#fffdfa}.swb-pet-card-heading{display:flex;gap:12px;align-items:center;margin-bottom:15px}.swb-pet-card-heading>span{font-size:27px}.swb-pet-card-heading strong{display:block;color:var(--swb-green);font-size:17px}.swb-pet-card-heading small{display:block;color:#898f89;font:11px Arial;margin-top:3px}.swb-pet-note{margin-top:15px;padding:13px 15px;background:#f5f0f7;border:1px solid #e5d9e9;border-radius:12px;color:#6f6175;font:12px Arial,sans-serif;line-height:1.5}.swb-payment-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #e9e2da;color:var(--swb-green)}.swb-payment-total strong{font-size:28px;color:var(--swb-purple)}.swb-payment-lines{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.swb-payment-lines>div{padding:13px;border-radius:12px;background:#faf6f1}.swb-payment-lines span{display:block;color:#858b85;font:10px Arial;text-transform:uppercase;letter-spacing:.05em}.swb-payment-lines strong{display:block;margin-top:5px;color:var(--swb-green);font-size:17px}.swb-hold-note{padding:17px;border-radius:15px;background:#f5eff7;border:1px solid #e2d5e7;color:#685a6e}.swb-hold-note b{color:#755c7e}.swb-hold-note p{font:13px/1.55 Arial,sans-serif}.swb-bank-details{margin-top:12px;padding-top:12px;border-top:1px solid #e0d4e5}.swb-empty-customer{text-align:center;padding:35px 20px;border:1px dashed #d9ced9;border-radius:18px;background:#fffdfa}.swb-empty-customer div{font-size:35px}.swb-empty-customer h3{font-size:20px;color:#6a5570;margin:10px 0}.swb-empty-customer p{font:13px Arial;color:#7f8780}.swb-booking-summary{position:sticky;top:30px;background:linear-gradient(160deg,#fffefa,#f7f0f7);border:1px solid #e2d7e5;border-radius:22px;padding:22px;box-shadow:0 16px 35px rgba(80,65,55,.06)}.swb-summary-heart{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eee5f1;color:#8a6b96;margin-bottom:10px}.swb-booking-summary h3{font-size:21px;color:#66506c;margin:0 0 15px}.swb-summary-row,.swb-summary-section{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid #e9e0e8}.swb-summary-row span,.swb-summary-section>span{font:10px Arial;text-transform:uppercase;letter-spacing:.06em;color:#858c86}.swb-summary-row strong,.swb-summary-section strong{font-size:13px;color:var(--swb-green)}.swb-summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:17px;color:#69746d}.swb-summary-total strong{font-size:23px;color:var(--swb-purple)}.swb-success-card{max-width:700px;margin:auto;text-align:center;padding:35px 25px;background:linear-gradient(160deg,#fffefa,#f7f0f7);border:1px solid #dfd2e3;border-radius:24px}.swb-success-heart{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:#eee5f1;color:#8a6b96;font-size:27px}.swb-success-card h2{font-size:30px;color:#66506c;margin:8px 0}.swb-success-card>p{color:#737c75;font:14px/1.55 Arial}.swb-success-ref{display:grid;gap:4px;padding:13px;margin:9px 0;background:#fff;border:1px solid #e8dfd9;border-radius:12px}.swb-success-ref span{font:10px Arial;text-transform:uppercase;color:#8a908a}.swb-success-ref strong{color:var(--swb-green);font-size:16px}.swb-success-card .swb-customer-button{margin-top:15px}.swb-small-print{font-size:11px!important;color:#8d938e!important}.swb-account-cover{min-height:270px;border-radius:22px 22px 0 0;padding:38px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 85% 20%,rgba(128,101,142,.18),transparent 25%),radial-gradient(circle at 8% 60%,rgba(127,144,121,.18),transparent 28%),linear-gradient(135deg,#f5efe7,#fbf8f2);position:relative}.swb-account-cover:after{content:'🌿  🪻  🌿';position:absolute;right:35px;bottom:28px;font-size:35px;opacity:.45}.swb-account-cover h1{font-size:36px;color:#66506c;margin:9px 0;line-height:1.08}.swb-account-cover h1 em{font-weight:400}.swb-account-cover p{color:#747d76;font-size:14px}.swb-account-dashboard{max-width:1050px;margin:-30px auto 0;position:relative}.swb-account-welcome{background:rgba(255,253,249,.97);border:1px solid #e2d8cf;border-radius:20px;padding:20px 23px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 14px 35px rgba(80,65,55,.08)}.swb-account-welcome span{font:10px Arial;letter-spacing:.2em;color:var(--swb-sage)}.swb-account-welcome h2{font-size:23px;color:#66506c;margin:5px 0 0}.swb-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.swb-account-panel{background:#fffdf9;border:1px solid #e2d8cf;border-radius:18px;padding:20px}.swb-account-panel h3{color:#66506c;font-size:19px;margin:0 0 14px}.swb-account-pet,.swb-account-booking{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eee6df;padding:12px 0}.swb-account-pet{justify-content:flex-start}.swb-account-pet>span{font-size:24px}.swb-account-pet div,.swb-account-booking div{display:grid;gap:3px}.swb-account-pet strong,.swb-account-booking strong{color:var(--swb-green);font-size:13px}.swb-account-pet small,.swb-account-booking small{font:11px Arial;color:#818982}.swb-account-status{border-radius:15px;padding:7px 10px;background:#eee8f1;color:#775e81;font:10px Arial;text-align:center}.swb-account-status.confirmed{background:#eaf2ed;color:#57705e}.swb-account-status.cancelled{background:#f7e8e6;color:#8c5a55}.swb-account-note{font:11px/1.5 Arial;color:#8b918b}.swb-login-card{max-width:520px;margin:-50px 8% 20px auto;position:relative;background:rgba(255,253,249,.97);border:1px solid #e2d8cf;border-radius:22px;padding:28px;box-shadow:0 18px 45px rgba(80,65,55,.12)}.swb-login-card label{display:grid;gap:7px;font-size:12px;margin-bottom:15px}.swb-login-card input{border:1px solid #cdb8d6;border-radius:12px;padding:13px;font:15px Georgia;background:#fff}.swb-login-divider{text-align:center;color:#9a7fa5;margin:18px 0}.swb-login-card>p{text-align:center;color:#7e857f;font-size:13px}.swb-login-card .swb-customer-button{width:100%}
@media(max-width:900px){.swb-booking-shell{grid-template-columns:1fr}.swb-booking-summary{position:static;order:-1}.swb-account-cover{min-height:230px}.swb-login-card{margin:15px auto;max-width:620px}.swb-account-grid{grid-template-columns:1fr}}
@media(max-width:620px){.swb-customer-app,.swb-account-page{padding:12px;border-radius:18px}.swb-customer-hero h1{font-size:27px}.swb-progress{justify-content:flex-start}.swb-progress span{padding:9px 10px;font-size:9px}.swb-booking-step{padding:20px;border-radius:18px}.swb-step-heading h2{font-size:24px}.swb-date-grid,.swb-count-grid,.swb-two-col,.swb-payment-lines{grid-template-columns:1fr}.swb-review-row{grid-template-columns:1fr;gap:5px}.swb-account-cover{padding:25px 20px}.swb-account-cover h1{font-size:29px}.swb-account-welcome{align-items:flex-start;flex-direction:column}.swb-login-card{padding:20px}.swb-account-cover:after{display:none}}

/* v0.6.2 customer booking polish: selected accommodation stays within the Skye Warren lavender palette. */
.swb-accommodation-option.selected{background:#f7f0f8!important;border-color:#9b7ca7!important;color:inherit!important;}
.swb-accommodation-option.selected .swb-option-title,.swb-accommodation-option.selected .swb-accommodation-line strong{color:#6b536f!important;}
.swb-accommodation-option.selected .swb-option-check{background:#eee5f1!important;color:#8a6b96!important;}

/* v0.6.4: force the selected accommodation into the Skye Warren lavender palette, regardless of theme/legacy styles. */
.swb-accommodation-option.selected,.swb-accommodation-option.selected:hover,.swb-accommodation-option.selected:focus{background:#f5edf7!important;background-color:#f5edf7!important;border-color:#9b7ca7!important;color:#66506c!important;box-shadow:0 10px 28px rgba(105,81,111,.10)!important;}
.swb-accommodation-option.selected .swb-option-title,.swb-accommodation-option.selected .swb-accommodation-line strong{color:#66506c!important;}
.swb-accommodation-option.selected .swb-accommodation-line span,.swb-accommodation-option.selected .swb-accommodation-line small{color:#7b7378!important;}
.swb-accommodation-option.selected .swb-option-check{background:#eee5f1!important;color:#8a6b96!important;border-color:#d9c9df!important;}
.swb-species-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;}
.swb-species-icon svg{width:42px;height:42px;display:block;}

/* v0.6.5: final selected accommodation override. Keep the active card cream/lavender even when the site theme styles buttons. */
button.swb-accommodation-option.selected,button.swb-accommodation-option.selected:hover,button.swb-accommodation-option.selected:focus,button.swb-accommodation-option.selected:active{background:#f5edf7!important;background-color:#f5edf7!important;background-image:none!important;border-color:#9b7ca7!important;color:#66506c!important;box-shadow:0 10px 28px rgba(105,81,111,.10)!important;}
button.swb-accommodation-option.selected .swb-option-title,button.swb-accommodation-option.selected .swb-accommodation-line strong{color:#66506c!important;}
button.swb-accommodation-option.selected .swb-accommodation-line span,button.swb-accommodation-option.selected .swb-accommodation-line small{color:#7b7378!important;}

/* v0.6.6: keep customer booking controls in the Skye Warren palette even when the active WordPress theme applies button colours. */
.swb-customer-app .swb-count-card button,
.swb-customer-app .swb-count-card button:hover,
.swb-customer-app .swb-count-card button:focus,
.swb-customer-app .swb-count-card button:active {
    background: #faf5fb !important;
    background-color: #faf5fb !important;
    background-image: none !important;
    border-color: #cdb8d6 !important;
    color: #80658e !important;
    box-shadow: none !important;
}
.swb-customer-app .swb-accommodation-option,
.swb-customer-app .swb-accommodation-option:hover,
.swb-customer-app .swb-accommodation-option:focus,
.swb-customer-app .swb-accommodation-option:active,
.swb-customer-app .swb-accommodation-option.selected,
.swb-customer-app .swb-accommodation-option[aria-pressed="true"] {
    background: #fffdf9 !important;
    background-color: #fffdf9 !important;
    background-image: none !important;
    color: #67516f !important;
    border-color: #ded4df !important;
}
.swb-customer-app .swb-accommodation-option.selected,
.swb-customer-app .swb-accommodation-option[aria-pressed="true"] {
    background: #f5edf7 !important;
    background-color: #f5edf7 !important;
    border-color: #9b7ca7 !important;
    box-shadow: 0 9px 24px rgba(90,65,100,.08) !important;
}
.swb-customer-app .swb-accommodation-option.selected .swb-option-check,
.swb-customer-app .swb-accommodation-option[aria-pressed="true"] .swb-option-check {
    background: #e9dff0 !important;
    color: #80658e !important;
}
.swb-customer-app .swb-accommodation-option .swb-option-content,
.swb-customer-app .swb-accommodation-option .swb-accommodation-line,
.swb-customer-app .swb-accommodation-option .swb-option-footer {
    background: transparent !important;
    background-image: none !important;
}
.swb-customer-app .swb-accommodation-option .swb-option-title,
.swb-customer-app .swb-accommodation-option .swb-accommodation-line strong,
.swb-customer-app .swb-accommodation-option .swb-option-footer strong {
    color: #67516f !important;
}
.swb-customer-app .swb-accommodation-option .swb-accommodation-line span,
.swb-customer-app .swb-accommodation-option .swb-accommodation-line small,
.swb-customer-app .swb-accommodation-option .swb-option-footer span {
    color: #7b837d !important;
}

/* v0.6.7: customer booking controls are non-button elements so WordPress themes cannot recolour them. */
.swb-customer-app .swb-count-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border:1px solid #cdb8d6!important;
    border-radius:50%!important;
    background:#faf5fb!important;
    background-color:#faf5fb!important;
    color:#80658e!important;
    box-shadow:none!important;
    font:20px/1 Georgia,serif!important;
    cursor:pointer!important;
    user-select:none!important;
    vertical-align:middle!important;
}
.swb-customer-app .swb-count-button:hover,
.swb-customer-app .swb-count-button:focus{
    background:#f1e7f3!important;
    background-color:#f1e7f3!important;
    color:#80658e!important;
    border-color:#a98ab4!important;
    outline:none!important;
}
.swb-customer-app .swb-accommodation-option{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:grid!important;
    width:100%!important;
    margin:0!important;
    text-align:left!important;
    color:#67516f!important;
    background:#fffdf9!important;
    background-color:#fffdf9!important;
    border:1px solid #ded4df!important;
    border-radius:18px!important;
    padding:15px!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.swb-customer-app .swb-accommodation-option:hover,
.swb-customer-app .swb-accommodation-option:focus{
    background:#fffdf9!important;
    background-color:#fffdf9!important;
    border-color:#bda7c6!important;
    outline:none!important;
}
.swb-customer-app .swb-accommodation-option.selected,
.swb-customer-app .swb-accommodation-option.selected:hover,
.swb-customer-app .swb-accommodation-option.selected:focus,
.swb-customer-app .swb-accommodation-option[aria-pressed="true"]{
    background:#f5edf7!important;
    background-color:#f5edf7!important;
    background-image:none!important;
    border-color:#9b7ca7!important;
    color:#67516f!important;
    box-shadow:0 9px 24px rgba(90,65,100,.08)!important;
}
.swb-customer-app .swb-accommodation-option *{background-color:transparent!important;background-image:none!important;}
.swb-customer-app .swb-accommodation-option .swb-option-check{background:#eee5f1!important;color:#8a6b96!important;border-color:#d9c9df!important;}
.swb-customer-app .swb-accommodation-option.selected .swb-option-check,
.swb-customer-app .swb-accommodation-option[aria-pressed="true"] .swb-option-check{background:#e9dff0!important;color:#80658e!important;}

/* v0.6.8 customer heading + clearer accommodation guest summary */
.swb-summary-section small,.swb-review-row small{display:block;margin-top:3px;font-size:.78rem;color:#7b7378;}

/* v0.7.0 payment presentation */
.swb-bank-details{margin-top:18px;padding:18px 20px;background:#fffafc;border:1px solid #ded0e3;border-radius:16px;color:#5f5660}
.swb-bank-details h3{margin:0 0 12px;color:#66506c;font-family:Georgia,serif}
.swb-bank-details p{margin:6px 0}
.swb-bank-details strong{color:#66506c}
.swb-payment-instructions{margin-top:16px;padding-top:14px;border-top:1px solid #e5dce7}
.swb-payment-warning{background:#fbf8f4;border-color:#ded4c8}
.swb-setup-list{display:grid;gap:14px}.swb-setup-option{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:12px;width:100%;border:1px solid #ded4df;border-radius:18px;background:#fffdf9;padding:18px;cursor:pointer}.swb-setup-option:hover,.swb-setup-option.selected{border-color:#9d7eaa;box-shadow:0 9px 24px rgba(90,65,100,.08);background:#fbf7fc}.swb-setup-option strong{display:block;color:#67516f;font-size:17px}.swb-setup-option span{display:block;color:#7b837d;font:12px Arial,sans-serif;margin-top:4px}.swb-empty-help{margin:18px auto 0;padding:14px;border-radius:13px;background:#f5eff7;border:1px solid #e2d5e7;max-width:520px}.swb-empty-help strong{color:#70567a}.swb-empty-help p{margin:6px 0 0}.swb-summary-help{margin-top:18px;padding:14px;border-radius:14px;background:#f5eff7;border:1px solid #e2d5e7;color:#6d6171}.swb-summary-help strong{display:block;color:#70567a;font-size:13px}.swb-summary-help p{font:12px/1.5 Arial,sans-serif;margin:6px 0 10px}.swb-summary-help a{color:#80658e;font:600 12px Arial,sans-serif;text-decoration:none}
/* v0.7.2: keep customer navigation buttons on-brand on hover/focus/active. Prevent WordPress theme hover colours (including green) from bleeding through. */
.swb-customer-app .swb-customer-button,
.swb-customer-app .swb-customer-button:hover,
.swb-customer-app .swb-customer-button:focus,
.swb-customer-app .swb-customer-button:focus-visible,
.swb-customer-app .swb-customer-button:active {
    background-image:none !important;
}
.swb-customer-app .swb-customer-button:not(.primary),
.swb-customer-app .swb-customer-button:not(.primary):hover,
.swb-customer-app .swb-customer-button:not(.primary):focus,
.swb-customer-app .swb-customer-button:not(.primary):active {
    background:#fffafc !important;
    background-color:#fffafc !important;
    color:#704f7b !important;
    border-color:#a98ab4 !important;
}
.swb-customer-app .swb-customer-button.primary,
.swb-customer-app .swb-customer-button.primary:hover,
.swb-customer-app .swb-customer-button.primary:focus,
.swb-customer-app .swb-customer-button.primary:active {
    background:#80658e !important;
    background-color:#80658e !important;
    color:#fff !important;
    border-color:#80658e !important;
}
.swb-customer-app .swb-text-button,
.swb-customer-app .swb-text-button:hover,
.swb-customer-app .swb-text-button:focus,
.swb-customer-app .swb-text-button:active {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    color:#765d80 !important;
    box-shadow:none !important;
}


.swb-account-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px}.swb-account-panel-head h3{margin:0 0 4px}.swb-account-panel-head p{margin:0;color:#858b85;font:11px Arial,sans-serif}.swb-account-link{border:0;background:transparent;color:#80658e;font:13px Georgia,serif;cursor:pointer;padding:5px}.swb-account-link:hover,.swb-account-link:focus{color:#66506c;text-decoration:underline}.swb-profile-view{padding:10px 0}.swb-profile-view strong,.swb-profile-view small{display:block}.swb-profile-view strong{font-size:15px;color:#66506c;margin-bottom:5px}.swb-profile-view small{font:12px/1.5 Arial;color:#7d857e}.swb-account-form,.swb-pet-edit-form,.swb-pet-add-form{display:grid;gap:12px;margin-top:12px;padding:15px;border:1px solid #e5dbe4;border-radius:15px;background:#fbf7fc}.swb-account-form label,.swb-pet-edit-form label,.swb-pet-add-form label{display:grid;gap:6px;font:11px Arial;color:#727a74}.swb-account-form input,.swb-account-form textarea,.swb-pet-edit-form input,.swb-pet-edit-form textarea,.swb-pet-edit-form select,.swb-pet-add-form input,.swb-pet-add-form select{width:100%;box-sizing:border-box;border:1px solid #cdb8d6;border-radius:11px;padding:10px;background:#fffdfa;font:14px Georgia;color:#5f5960}.swb-account-form textarea,.swb-pet-edit-form textarea{resize:vertical}.swb-account-form-actions{display:flex;align-items:center;gap:12px}.swb-account-form-actions .swb-customer-button{width:auto}.swb-account-empty{padding:15px;border:1px dashed #d9ced9;border-radius:12px;color:#838a84;font:12px Arial}.swb-account-payment{display:block;text-align:right;margin-top:5px}.swb-account-bookings-panel{margin-top:16px}.swb-account-pet-editable button{margin-left:auto}.swb-pet-edit-form{margin:-4px 0 8px}.swb-pet-edit-form .swb-two-col,.swb-pet-add-form .swb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:760px){.swb-account-grid{grid-template-columns:1fr}.swb-account-welcome{align-items:flex-start;flex-direction:column}.swb-account-panel-head{align-items:flex-start}.swb-pet-edit-form .swb-two-col,.swb-pet-add-form .swb-two-col{grid-template-columns:1fr}.swb-account-form-actions{flex-wrap:wrap}.swb-account-booking{align-items:flex-start}.swb-account-booking>div:last-child{text-align:right}}

/* v0.8.1: keep account action links on-brand and prevent theme hover backgrounds. */
.swb-account-panel-head .swb-account-link,
.swb-account-panel-head .swb-account-link:hover,
.swb-account-panel-head .swb-account-link:focus,
.swb-account-panel-head .swb-account-link:focus-visible,
.swb-account-panel-head .swb-account-link:active,
.swb-account-pet-editable .swb-account-link,
.swb-account-pet-editable .swb-account-link:hover,
.swb-account-pet-editable .swb-account-link:focus,
.swb-account-pet-editable .swb-account-link:focus-visible,
.swb-account-pet-editable .swb-account-link:active {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    color:#80658e !important;
    border:0 !important;
    box-shadow:none !important;
    text-decoration:none;
}
.swb-account-panel-head .swb-account-link:hover,
.swb-account-panel-head .swb-account-link:focus,
.swb-account-pet-editable .swb-account-link:hover,
.swb-account-pet-editable .swb-account-link:focus {
    color:#66506c !important;
    text-decoration:underline;
}
/* v0.8.2 customer account polish */
.swb-account-form .swb-form-section{margin:18px 0 10px;padding-top:4px;border-top:1px solid #eadfec}.swb-account-form .swb-form-section:first-child{margin-top:0;border-top:0}.swb-account-form .swb-form-section-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.swb-account-form .swb-form-section-head h3{margin:0;color:#66506c;font-size:16px}.swb-account-form .swb-form-section-head p{margin:2px 0 0;font-size:12px;color:#7b7378}.swb-account-form .swb-section-icon{font-size:20px}.swb-check-field{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.swb-check-field input[type=checkbox]{width:20px!important;height:20px!important;accent-color:#9674a3}.swb-account-booking-link{display:flex;text-decoration:none!important;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.swb-account-booking-link:hover{background:#fffdf9!important;border-color:#cdb9d5!important;box-shadow:0 8px 20px rgba(105,81,111,.08);transform:translateY(-1px)}.swb-booking-view-link{display:block;margin-top:5px;color:#80668d;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-style:normal}.swb-customer-booking-detail{padding:26px!important}.swb-booking-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:1px solid #eadfec}.swb-booking-detail-top h3{margin:0;color:#66506c;font-size:22px}.swb-booking-detail-top p{margin:6px 0 0;color:#7b7378}.swb-booking-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.swb-booking-detail-card{background:#faf6fb;border:1px solid #e4d7e8;border-radius:14px;padding:14px}.swb-booking-detail-card span{display:block;color:#80668d;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.swb-booking-detail-card strong{display:block;color:#4e4550}.swb-booking-detail-section{border-top:1px solid #eadfec;padding-top:16px;margin-top:18px}.swb-booking-detail-section h4{margin:0 0 10px;color:#66506c}.swb-detail-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #f0e9f1;font-size:14px}.swb-detail-line:last-child{border-bottom:0}@media(max-width:800px){.swb-booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.swb-booking-detail-grid{grid-template-columns:1fr}.swb-booking-detail-top{display:block}.swb-booking-detail-top .swb-account-status{display:inline-block;margin-top:10px}.swb-account-booking-link{display:block}.swb-account-booking-link>div+div{margin-top:10px}}

/* v0.8.3 customer media & verification */
.swb-account-pet-thumb{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block;border:1px solid #ddcfe2;background:#f7f0f8;flex:0 0 44px}
.swb-customer-upload-box{background:#fbf7fb;border:1px solid #e3d6e7;border-radius:14px;padding:16px;box-sizing:border-box;margin:4px 0 8px}
.swb-customer-upload-box label{display:block;margin:0 0 12px}
.swb-customer-upload-box label:last-child{margin-bottom:0}
.swb-customer-upload-box input[type=file]{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:10px;border:1px dashed #cbb6d3;border-radius:10px;background:#fffdfb;font:inherit;color:#66506c}
.swb-customer-upload-box input[type=file]::file-selector-button{border:0;border-radius:999px;padding:8px 13px;background:#9674a3;color:#fff;cursor:pointer;margin-right:10px;font:inherit}
.swb-customer-upload-box small{display:block;margin-top:5px;color:#817982;font-size:11px}
.swb-customer-current-photo{display:flex;align-items:center;gap:14px;margin-bottom:15px;padding-bottom:14px;border-bottom:1px solid #eadfea}
.swb-customer-current-photo img{width:82px;height:82px;object-fit:cover;border-radius:14px;border:1px solid #ddcfe2}
.swb-customer-current-photo div{display:flex;flex-direction:column;gap:4px}
.swb-customer-current-photo span{font-size:12px;color:#817982}
.swb-customer-upload-empty{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#817982;font-size:13px}
.swb-customer-document-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eadfea}
.swb-customer-document-status a{color:#765580;text-decoration:none;font-size:13px;font-weight:600}
.swb-customer-document-status a:hover{text-decoration:underline}
.swb-verification-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;white-space:nowrap}
.swb-verification-pill.pending{background:#f5eee2;color:#896b42}
.swb-verification-pill.verified{background:#eaf4ed;color:#4d7359}
.swb-upload-note{margin:0;color:#817982;font-size:12px;line-height:1.55}
.swb-optional{font-size:11px;color:#8b818b;font-weight:400}
@media(max-width:700px){.swb-customer-document-status{align-items:flex-start;flex-direction:column}.swb-customer-current-photo{align-items:flex-start}}

/* v0.8.6 booking detail polish */
.swb-booking-status-message{margin:18px 0;padding:14px 16px;border:1px solid #e4d7e8;border-radius:14px;background:#faf6fb}.swb-booking-status-message.confirmed{background:#f4f8f5;border-color:#d7e5dc}.swb-booking-status-message.pending{background:#fff9ee;border-color:#eadfc9}.swb-booking-status-message.cancelled{background:#fff5f5;border-color:#ecd6d6}.swb-booking-status-message strong{display:block;color:#66506c;font-size:14px}.swb-booking-status-message p{margin:5px 0 0;color:#6f6870;font-size:13px;line-height:1.55}.swb-payment-history{border:1px solid #eee5ef;border-radius:12px;overflow:hidden}.swb-payment-history-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:12px 14px;background:#fffdf9;border-bottom:1px solid #eee7ef}.swb-payment-history-row:last-child{border-bottom:0}.swb-payment-history-row>div{display:grid;gap:3px}.swb-payment-history-row strong{color:#4e4550}.swb-payment-history-row span,.swb-payment-history-row small{color:#7b7378;font-size:11px}.swb-payment-history-row>strong:last-child{color:#80668d;font-size:15px;white-space:nowrap}.swb-payment-history-empty p{margin:0;color:#7b7378;font-size:13px}.swb-booking-detail-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}@media(max-width:600px){.swb-payment-history-row{display:block}.swb-payment-history-row>strong:last-child{display:block;margin-top:7px}.swb-booking-detail-actions{align-items:stretch;flex-direction:column}.swb-booking-detail-actions .swb-customer-button,.swb-booking-detail-actions .swb-text-button{text-align:center}}


/* v0.8.7 booking request workflow */
.swb-booking-request-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.swb-booking-request-box{border:1px solid #e5d9e8;background:#fbf8fc;border-radius:18px;padding:20px}.swb-booking-request-box.cancellation{background:#fcf7f7;border-color:#eadada}.swb-booking-request-box h4{margin:0 0 6px;color:#66506c;font-size:18px}.swb-booking-request-box p{margin:0 0 14px;color:#756c72;font-size:14px;line-height:1.6}.swb-booking-request-box.cancellation h4{color:#7a5d62}.swb-booking-request-box .swb-text-button.danger{color:#8a5f66}.swb-booking-request-form{margin-top:16px}.swb-booking-request-form label{display:block;font-weight:600;color:#5f555d}.swb-booking-request-form textarea{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #ddd2df;border-radius:12px;padding:12px;background:#fff;font:inherit;resize:vertical}.swb-booking-request-form textarea:focus{outline:0;border-color:#a987b0;box-shadow:0 0 0 3px rgba(169,135,176,.12)}.swb-booking-request-form .swb-account-form-actions{margin-top:12px}.swb-inline-message.success{color:#55745f}.swb-inline-message.error{color:#8a5f66}@media(max-width:760px){.swb-booking-request-area{grid-template-columns:1fr}}

/* v0.8.8: give the invoice action a little breathing room from the request cards. */
.swb-customer-booking-detail .swb-booking-detail-actions{margin-top:30px;padding-top:8px;}
.swb-customer-booking-detail .swb-booking-detail-actions .swb-customer-button{margin-top:4px;margin-bottom:4px;}

/* v0.8.9: customer buttons must not inherit the WordPress theme's green hover.
   The booking detail page uses .swb-account-page rather than .swb-customer-app,
   so these rules intentionally cover both customer containers. */
.swb-account-page .swb-customer-button,
.swb-account-page .swb-customer-button:hover,
.swb-account-page .swb-customer-button:focus,
.swb-account-page .swb-customer-button:focus-visible,
.swb-account-page .swb-customer-button:active,
.swb-customer-app .swb-customer-button,
.swb-customer-app .swb-customer-button:hover,
.swb-customer-app .swb-customer-button:focus,
.swb-customer-app .swb-customer-button:focus-visible,
.swb-customer-app .swb-customer-button:active {
    background-image:none !important;
}
.swb-account-page .swb-customer-button.primary,
.swb-account-page .swb-customer-button.primary:hover,
.swb-account-page .swb-customer-button.primary:focus,
.swb-account-page .swb-customer-button.primary:focus-visible,
.swb-account-page .swb-customer-button.primary:active,
.swb-customer-app .swb-customer-button.primary,
.swb-customer-app .swb-customer-button.primary:hover,
.swb-customer-app .swb-customer-button.primary:focus,
.swb-customer-app .swb-customer-button.primary:focus-visible,
.swb-customer-app .swb-customer-button.primary:active {
    background:#80658e !important;
    background-color:#80658e !important;
    color:#fff !important;
    border-color:#80658e !important;
}
.swb-account-page .swb-text-button,
.swb-account-page .swb-text-button:hover,
.swb-account-page .swb-text-button:focus,
.swb-account-page .swb-text-button:focus-visible,
.swb-account-page .swb-text-button:active,
.swb-customer-app .swb-text-button,
.swb-customer-app .swb-text-button:hover,
.swb-customer-app .swb-text-button:focus,
.swb-customer-app .swb-text-button:focus-visible,
.swb-customer-app .swb-text-button:active {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    color:#765d80 !important;
}
.swb-account-page .swb-booking-request-box .swb-text-button.danger,
.swb-account-page .swb-booking-request-box .swb-text-button.danger:hover,
.swb-account-page .swb-booking-request-box .swb-text-button.danger:focus,
.swb-account-page .swb-booking-request-box .swb-text-button.danger:active {
    background:transparent !important;
    background-color:transparent !important;
    color:#8a5f66 !important;
}
.swb-account-page .swb-booking-detail-actions {
    margin-top:28px;
    padding-top:8px;
    border-top:1px solid #eee6df;
}

/* v0.8.11 - Skye Warren logo/header polish */
.swb-account-cover .swb-account-brand{width:310px;height:auto;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;display:block;margin:0 0 12px;padding:0;line-height:0}
.swb-account-cover .swb-account-brand img{display:block;width:100%;height:auto;max-width:310px;max-height:none;object-fit:contain}
.swb-account-cover .swb-account-brand + h1{margin-top:2px}
.swb-account-cover{padding:32px 38px 38px;justify-content:center}
.swb-account-cover h1{font-size:38px;letter-spacing:.01em}
.swb-account-cover p{font-size:15px;margin-top:8px}
@media(max-width:620px){.swb-account-cover{padding:24px 20px 30px}.swb-account-cover .swb-account-brand{width:min(260px,85vw)}.swb-account-cover h1{font-size:30px}}


/* v0.8.12 - customer account + login visual refresh */
.swb-account-page.swb-login-page{background:linear-gradient(135deg,#fcfaf6,#f7f1ec);padding:18px 18px 34px}
.swb-account-cover{min-height:320px;border-radius:26px 26px 0 0;padding:44px 54px 54px;display:flex;align-items:center;justify-content:flex-start;background:radial-gradient(circle at 88% 18%,rgba(128,101,142,.15),transparent 27%),radial-gradient(circle at 8% 68%,rgba(127,144,121,.17),transparent 30%),linear-gradient(135deg,#f3eee6,#fbf8f3);position:relative;overflow:hidden}
.swb-account-cover:before,.swb-login-hero:before{content:'';position:absolute;inset:auto -5% -52% 34%;height:220px;background:radial-gradient(ellipse,rgba(169,138,180,.08),transparent 65%);pointer-events:none}
.swb-account-cover:after{content:'🌿  🪻  🌿';position:absolute;right:48px;bottom:30px;font-size:33px;opacity:.45}
.swb-account-cover-copy{position:relative;z-index:1;max-width:700px}
.swb-brand-lockup{display:block;width:min(390px,58vw);height:auto;max-width:100%;margin:0 0 16px;object-fit:contain;object-position:left center}
.swb-cover-kicker{display:block;font:700 10px/1 Arial,sans-serif;letter-spacing:.24em;color:#78806f;margin:0 0 9px}
.swb-account-cover h1{font-size:42px;line-height:1.05;color:#66506c;margin:0 0 10px;letter-spacing:.005em}
.swb-account-cover h1 em{font-weight:400}
.swb-account-cover p{color:#747d76;font-size:15px;margin:0;line-height:1.55}
.swb-account-dashboard{max-width:1080px;margin:-28px auto 0;position:relative;z-index:2}
.swb-account-welcome{box-shadow:0 16px 38px rgba(80,65,55,.09)}

/* Dedicated login page: same brand, different purpose. */
.swb-login-hero{position:relative;min-height:590px;border-radius:26px;overflow:hidden;padding:52px 5%;display:grid;grid-template-columns:minmax(0,760px) minmax(380px,500px);gap:50px;align-items:center;justify-content:center;background:radial-gradient(circle at 86% 17%,rgba(128,101,142,.16),transparent 27%),radial-gradient(circle at 10% 72%,rgba(127,144,121,.18),transparent 31%),linear-gradient(135deg,#f3eee6,#fbf8f3)}
.swb-login-hero-copy{position:relative;z-index:1;max-width:760px;padding-left:0}
.swb-login-hero-copy .swb-brand-lockup{width:min(430px,72%);margin-bottom:22px}
.swb-login-hero-copy .swb-cover-kicker{color:#78806f}
.swb-login-hero-copy h1{font-size:46px;line-height:1.05;color:#66506c;margin:0 0 12px;letter-spacing:.005em}
.swb-login-hero-copy h1 em{font-weight:400}
.swb-login-hero-copy>p{max-width:520px;color:#747d76;font-size:16px;line-height:1.6;margin:0}
.swb-login-card{width:100%;max-width:none;margin:0;position:relative;background:rgba(255,253,249,.98);border:1px solid #e2d8cf;border-radius:24px;padding:34px 34px 30px;box-shadow:0 22px 55px rgba(80,65,55,.14);z-index:2}
.swb-login-card-heading span{display:block;font:700 10px/1 Arial,sans-serif;letter-spacing:.2em;color:#78806f;margin-bottom:7px}
.swb-login-card-heading h2{font-size:25px;color:#66506c;margin:0 0 5px}
.swb-login-card-heading p{font-size:13px;line-height:1.5;color:#7b837d;margin:0 0 20px}
.swb-login-card .swb-inline-message.error{margin:0 0 15px}
.swb-login-card label{display:grid;gap:7px;font-size:12px;color:#5f555d;margin-bottom:15px}
.swb-login-card input[type=email],.swb-login-card input[type=password]{border:1px solid #cdb8d6;border-radius:12px;padding:14px 15px;font:15px Georgia,serif;background:#fffdfb;color:#4d514d;outline:none;width:100%;box-sizing:border-box}
.swb-login-card input[type=email]:focus,.swb-login-card input[type=password]:focus{border-color:#80658e;box-shadow:0 0 0 3px rgba(128,101,142,.11)}
.swb-login-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-2px 0 20px}
.swb-login-options>a{font:12px Georgia,serif;color:#765d80;text-decoration:none}
.swb-login-options>a:hover{text-decoration:underline}
.swb-login-remember{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;margin:0!important;font:12px Arial,sans-serif!important;color:#777!important}
.swb-login-remember input{width:auto!important;margin:0}
.swb-login-card .swb-customer-button{width:100%;box-sizing:border-box}
.swb-login-divider{height:1px;background:#eee5eb;margin:25px 0 20px;position:relative;color:transparent}
.swb-login-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffdf9;padding:0 12px;color:#9a7fa5;font-size:14px}
.swb-login-create{text-align:center}
.swb-login-create p{margin:0 0 11px!important;color:#7e857f;font-size:12px!important}
.swb-login-create .swb-customer-button{background:#fffafc;border-color:#cdb8d6;color:#704f7b}
.swb-login-create .swb-customer-button:hover{background:#f8f0fa!important}

/* Keep the booking header using the same brand treatment. */
.swb-booking-cover .swb-brand-lockup{width:min(360px,58vw);margin-bottom:15px}
.swb-booking-cover{min-height:285px}

@media(max-width:900px){
  .swb-login-hero{grid-template-columns:1fr;gap:24px;padding:38px 5% 42px;min-height:auto}
  .swb-login-hero-copy{padding-left:0;max-width:720px}
  .swb-login-hero-copy .swb-brand-lockup{width:min(390px,80vw)}
  .swb-login-card{max-width:620px;justify-self:center}
}
@media(max-width:620px){
  .swb-account-page.swb-login-page{padding:10px}
  .swb-account-cover{min-height:275px;padding:30px 22px 38px}
  .swb-account-cover:after{right:20px;bottom:18px;font-size:24px}
  .swb-brand-lockup{width:min(340px,88vw)}
  .swb-account-cover h1{font-size:31px}
  .swb-account-cover p{font-size:13px}
  .swb-login-hero{padding:28px 18px 28px;border-radius:20px}
  .swb-login-hero-copy .swb-brand-lockup{width:min(330px,88vw);margin-bottom:18px}
  .swb-login-hero-copy h1{font-size:32px}
  .swb-login-hero-copy>p{font-size:14px}
  .swb-login-card{padding:25px 20px 23px;border-radius:20px}
  .swb-login-options{align-items:flex-start;flex-direction:column}
  .swb-booking-cover{min-height:250px}
  .swb-booking-cover .swb-brand-lockup{width:min(330px,88vw)}
}


/* v0.8.13 - booking page visual refresh to match the customer account */
.swb-customer-app[data-swb-booking]{padding:34px 34px 46px;background:radial-gradient(circle at 8% 8%,rgba(169,138,180,.12),transparent 26%),radial-gradient(circle at 92% 10%,rgba(127,144,121,.13),transparent 28%),linear-gradient(135deg,#fcfaf6,#f6f0ea)}
.swb-customer-app[data-swb-booking] .swb-booking-hero{max-width:1180px;margin:0 auto 20px;min-height:250px;border-radius:26px;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;gap:36px;background:radial-gradient(circle at 88% 18%,rgba(128,101,142,.15),transparent 27%),radial-gradient(circle at 10% 72%,rgba(127,144,121,.17),transparent 30%),linear-gradient(135deg,#f3eee6,#fbf8f3);border:1px solid rgba(229,220,211,.8);position:relative;overflow:hidden;box-shadow:0 18px 42px rgba(80,65,55,.06)}
.swb-booking-hero:after{content:'🌿  🪻  🌿';position:absolute;right:34px;bottom:20px;font-size:28px;opacity:.42;pointer-events:none}
.swb-booking-hero-copy{position:relative;z-index:1;min-width:0}
.swb-booking-hero-copy .swb-brand-lockup{display:block;width:min(330px,42vw);height:auto;margin:0 0 13px;object-fit:contain;object-position:left center}
.swb-booking-hero-copy .swb-cover-kicker{display:block;font:700 10px/1 Arial,sans-serif;letter-spacing:.24em;color:#78806f;margin:0 0 8px}
.swb-booking-hero-copy h1{font-size:38px;line-height:1.05;color:#66506c;margin:0 0 8px;letter-spacing:.005em}
.swb-booking-hero-copy p{margin:0;color:#747d76;font-size:14px;line-height:1.5}
.swb-booking-hero-note{position:relative;z-index:1;flex:0 0 260px;padding:19px 20px;border:1px solid #e2d7e5;border-radius:18px;background:rgba(255,253,249,.72);box-shadow:0 10px 25px rgba(80,65,55,.05)}
.swb-booking-hero-note span{display:block;font-size:24px;margin-bottom:7px;letter-spacing:4px}
.swb-booking-hero-note strong{display:block;color:#66506c;font:18px Georgia,serif;margin-bottom:5px}
.swb-booking-hero-note small{display:block;color:#7b837d;font:12px/1.5 Arial,sans-serif}
.swb-customer-app[data-swb-booking] .swb-progress{max-width:980px;margin:0 auto 24px;padding:0 5px 4px;justify-content:center;gap:4px;overflow-x:auto}
.swb-customer-app[data-swb-booking] .swb-progress span{padding:9px 12px;border:1px solid transparent;border-radius:18px;color:#8a8e89;background:rgba(255,253,249,.55);font-size:9px;letter-spacing:.07em}
.swb-customer-app[data-swb-booking] .swb-progress span.active{background:#eee6f1;border-color:#d9c9df;color:#765d80;border-bottom-color:#d9c9df}
.swb-customer-app[data-swb-booking] .swb-booking-shell{max-width:1080px;grid-template-columns:minmax(0,1fr) 285px;gap:18px}
.swb-customer-app[data-swb-booking] .swb-booking-step{padding:28px;border-radius:22px;box-shadow:0 16px 38px rgba(80,65,55,.065)}
.swb-customer-app[data-swb-booking] .swb-step-heading{margin-bottom:20px}
.swb-customer-app[data-swb-booking] .swb-step-heading h2{font-size:26px}
.swb-customer-app[data-swb-booking] .swb-form-card.swb-date-grid{padding:18px;background:#fffdf9}
.swb-customer-app[data-swb-booking] .swb-date-grid input{min-height:50px}
.swb-customer-app[data-swb-booking] .swb-booking-summary{top:20px;border-radius:20px;padding:20px;background:linear-gradient(160deg,#fffefa,#f7f0f7);box-shadow:0 14px 32px rgba(80,65,55,.055)}
.swb-customer-app[data-swb-booking] .swb-summary-help{margin-top:16px;padding:14px;border-radius:14px;background:#f5eff7;border:1px solid #e2d5e7}
.swb-customer-app[data-swb-booking] .swb-summary-help p{font:11px/1.5 Arial,sans-serif;color:#777f78}
.swb-customer-app[data-swb-booking] .swb-summary-help a{font:12px Georgia,serif;color:#765d80;text-decoration:none}
@media(max-width:900px){
  .swb-customer-app[data-swb-booking]{padding:18px}
  .swb-customer-app[data-swb-booking] .swb-booking-hero{min-height:0;padding:30px;align-items:flex-start;flex-direction:column}
  .swb-booking-hero-copy .swb-brand-lockup{width:min(340px,72vw)}
  .swb-booking-hero-note{flex-basis:auto;width:min(420px,100%)}
  .swb-customer-app[data-swb-booking] .swb-booking-shell{grid-template-columns:1fr}
  .swb-customer-app[data-swb-booking] .swb-booking-summary{position:static;order:-1}
}
@media(max-width:620px){
  .swb-customer-app[data-swb-booking]{padding:10px}
  .swb-customer-app[data-swb-booking] .swb-booking-hero{padding:24px 20px;border-radius:20px}
  .swb-booking-hero-copy .swb-brand-lockup{width:min(310px,88vw)}
  .swb-booking-hero-copy h1{font-size:31px}
  .swb-booking-hero-note{padding:15px}
  .swb-customer-app[data-swb-booking] .swb-progress{justify-content:flex-start}
  .swb-customer-app[data-swb-booking] .swb-progress span{padding:8px 10px;font-size:8px}
  .swb-customer-app[data-swb-booking] .swb-booking-step{padding:20px;border-radius:18px}
}

/* v0.8.72: customer daily updates and private photo archive presentation */
.swb-daily-updates-panel{margin-top:24px}.swb-daily-updates-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.swb-daily-update-card{min-width:0;background:linear-gradient(145deg,#fffdf9 0%,#faf6f1 100%);border:1px solid #e9dfeb;border-radius:18px;padding:20px;box-shadow:0 6px 22px rgba(83,65,89,.055)}.swb-daily-update-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid #eee5ef}.swb-daily-update-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#90759a}.swb-daily-update-top h4{margin:4px 0 0;color:#66506c;font-family:Georgia,serif;font-size:21px;line-height:1.25}.swb-daily-update-top time{flex-shrink:0;color:#746b75;font-size:12px;background:#f0e8f2;border-radius:999px;padding:7px 10px}.swb-daily-update-booking{margin-top:10px;color:#7e777f;font-size:12px}.swb-daily-update-copy{margin-top:14px;color:#504a50;font-size:15px;line-height:1.75;overflow-wrap:anywhere}.swb-daily-update-details{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.swb-daily-update-details>div{display:flex;flex-direction:column;gap:4px;min-width:90px;flex:1;background:#f1f6f0;border:1px solid #e0eadf;border-radius:12px;padding:10px 12px}.swb-daily-update-details span{font-size:11px;color:#687767}.swb-daily-update-details strong{font-size:13px;color:#4e624e}.swb-daily-updates-empty{text-align:center;padding:28px 18px}.swb-daily-updates-empty>span{display:block;font-size:30px;margin-bottom:8px}.swb-daily-updates-empty strong{display:block;color:#66506c;font-size:16px}.swb-daily-updates-empty p{margin:6px 0 0;color:#777078}.swb-photo-archive{margin:24px auto;padding:24px;background:#fffdf9;border:1px solid #e8dfeb;border-radius:20px;box-shadow:0 8px 28px rgba(83,65,89,.06);color:#514a52}.swb-photo-archive>h3{margin:0 0 6px;color:#66506c;font-family:Georgia,serif;font-size:clamp(22px,3vw,30px)}.swb-photo-archive>p{margin:0 0 20px;color:#777078;line-height:1.65}.swb-photo-archive{display:flow-root}.swb-photo-item{display:inline-flex;vertical-align:top;flex-direction:column;gap:10px;width:calc(33.333% - 14px);margin:0 14px 18px 0;padding:10px;box-sizing:border-box;background:#faf6f1;border:1px solid #eee4ed;border-radius:16px;overflow:hidden}.swb-photo-item>a:first-child{display:block;width:100%;overflow:hidden;border-radius:11px;background:#f1edf0;aspect-ratio:4/3}.swb-photo-item>a:first-child img{display:block;width:100%;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .25s ease}.swb-photo-item>a:first-child:hover img{transform:scale(1.035)}.swb-photo-item figcaption{padding:0 2px 2px}.swb-photo-item figcaption a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:8px 12px;border-radius:999px;background:#6b626d;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;line-height:1.35}.swb-photo-item figcaption a:hover,.swb-photo-item figcaption a:focus{background:#514a52;color:#fff!important}.swb-photo-notice{margin:18px 0;padding:16px 18px;background:#faf6f1;border:1px solid #e8dfeb;border-radius:14px;color:#66506c;line-height:1.6}@media(max-width:760px){.swb-daily-updates-list{grid-template-columns:1fr}.swb-photo-archive{padding:16px;border-radius:16px}.swb-photo-item{width:calc(50% - 9px);margin-right:12px;padding:7px}.swb-photo-item:nth-of-type(2n){margin-right:0}.swb-daily-update-card{padding:16px}.swb-daily-update-top{flex-direction:column;gap:8px}}@media(max-width:420px){.swb-photo-item{width:100%;margin-right:0}.swb-daily-update-details>div{min-width:calc(50% - 10px)}}

.swb-daily-update-care{margin-top:14px;padding:13px 14px;background:#faf6f1;border:1px solid #e9dfeb;border-radius:13px}.swb-daily-update-care h5{margin:0 0 8px;color:#66506c;font-family:Georgia,serif;font-size:15px}.swb-daily-update-care p{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin:7px 0;color:#514a52;font-size:13px}.swb-daily-update-care p span{color:#777078;min-width:130px}.swb-daily-update-care p strong{color:#4e624e}.swb-daily-update-care p small{flex-basis:100%;color:#777078}


/* v0.8.82: robust gallery card/button layout; override theme and older customer CSS */
.swb-photo-archive .swb-photo-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,230px))!important;align-items:start!important;gap:16px!important}
.swb-photo-archive figure.swb-photo-item{display:flex!important;flex-direction:column!important;width:100%!important;max-width:230px!important;min-width:0!important;margin:0!important;padding:10px!important;box-sizing:border-box!important;gap:10px!important}
.swb-photo-archive .swb-photo-item>a.swb-photo-preview-link{display:block!important;width:100%!important;aspect-ratio:4/3!important;flex:none!important;overflow:hidden!important}
.swb-photo-archive .swb-photo-item>a.swb-photo-preview-link img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.swb-photo-archive .swb-photo-item figcaption{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important}
.swb-photo-archive .swb-photo-item figcaption a,.swb-photo-archive .swb-photo-item figcaption a.swb-photo-view,.swb-photo-archive .swb-photo-item figcaption a.swb-photo-download{display:flex!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;min-height:38px!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;padding:9px 10px!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;text-align:center!important;line-height:1.3!important;font-size:13px!important;border-radius:999px!important}
@media(max-width:480px){.swb-photo-archive .swb-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.swb-photo-archive figure.swb-photo-item{max-width:none!important;padding:7px!important}}
@media(max-width:340px){.swb-photo-archive .swb-photo-grid{grid-template-columns:1fr!important}.swb-photo-archive figure.swb-photo-item{max-width:230px!important}}

.swb-account-pet-actions{margin-left:auto;display:flex;gap:2px;align-items:center}.swb-pet-view-panel{margin:-4px 0 8px;padding:16px;border:1px solid #e5dbe4;border-radius:15px;background:#fbf7fc}.swb-pet-view-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #e8dfe7}.swb-pet-view-head h4{margin:0;color:#66506c;font:700 18px Georgia,serif}.swb-pet-view-head p{margin:4px 0 0;color:#858b85;font:11px Arial,sans-serif}.swb-pet-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.swb-pet-view-grid>div{padding:10px 11px;background:#fffdf9;border:1px solid #eee6df;border-radius:10px}.swb-pet-view-grid span,.swb-pet-view-notes span{display:block;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#8a908a;margin-bottom:4px}.swb-pet-view-grid strong{display:block;font:13px Georgia,serif;color:#5f6961;line-height:1.4}.swb-pet-view-notes{display:grid;gap:10px;margin-top:10px}.swb-pet-view-notes>div{padding:10px 11px;background:#fffdf9;border:1px solid #eee6df;border-radius:10px}.swb-pet-view-notes p{margin:0;font:12px/1.5 Arial,sans-serif;color:#6f7771}.swb-pet-view-document{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e8dfe7;font:11px Arial,sans-serif}.swb-pet-view-document a{color:#80658e;text-decoration:none}.swb-pet-view-document span{color:#66806d}.swb-account-pet-actions .swb-account-link{padding:5px 7px}@media(max-width:760px){.swb-pet-view-grid{grid-template-columns:1fr}.swb-pet-view-document{align-items:flex-start;flex-direction:column}}


/* v0.8.153: customer document library styling */
.swb-account-documents-panel{grid-column:1/-1;margin-top:16px}
.swb-customer-document-library{display:grid;gap:12px}
.swb-customer-document-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px 18px;border:1px solid #e7ded7;border-radius:16px;background:#fffdfa}
.swb-customer-document-icon{width:46px;height:46px;border-radius:13px;background:#f0e8f2;border:1px solid #e3d6e7;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
.swb-customer-document-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.swb-customer-document-copy>span{display:block;margin:0;color:#8a7a91;font:700 10px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.swb-customer-document-copy strong{display:block;margin:0;color:#66516f;font:600 16px/1.3 Georgia,'Times New Roman',serif}
.swb-customer-document-copy p{display:block;margin:3px 0 0;color:#747d76;font:12px/1.45 Arial,sans-serif}
.swb-customer-document-card .swb-customer-button{min-height:42px;padding:9px 16px;font-size:13px;white-space:nowrap}
.swb-account-documents-panel .swb-account-empty{padding:18px 10px}
@media(max-width:700px){
  .swb-account-documents-panel{grid-column:auto}
  .swb-customer-document-card{grid-template-columns:46px 1fr;gap:12px}
  .swb-customer-document-card .swb-customer-button{grid-column:1/-1;width:100%}
}

/* Mandatory booking policy agreements */
.swb-policy-agreements{margin:18px 0 20px;padding:20px 22px;border:1px solid #e2d5e7;border-radius:16px;background:linear-gradient(145deg,#fffefa,#f8f2f8);color:#655b65}.swb-policy-agreements h3{margin:0 0 7px;color:#66506c;font-size:19px}.swb-policy-agreements>p{margin:0 0 14px;font:13px/1.55 Arial,sans-serif;color:#777c77}.swb-policy-check{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-top:1px solid #eee5ef;font:14px/1.55 Arial,sans-serif;color:#5e565f;cursor:pointer}.swb-policy-check input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#80658e;cursor:pointer}.swb-policy-check span{flex:1}.swb-policy-check a{color:#765681;text-decoration:underline;font-weight:700}.swb-policy-check a:hover,.swb-policy-check a:focus{color:#594064}.swb-policy-small-print{margin:12px 0 0!important;padding-top:12px;border-top:1px solid #eee5ef;font-size:11px!important;color:#858087!important}@media(max-width:600px){.swb-policy-agreements{padding:16px}.swb-policy-check{font-size:13px}}
