/* Scoped details; layout, spacing and typography remain editable in Spectra. */
.vp-profile *, .vp-profile *::before, .vp-profile *::after { box-sizing: border-box; }
.vp-profile { color: #173d39; }
.vp-profile [id] { scroll-margin-top: 28px; }
.vp-profile .vp-identity { position: relative; z-index: 1; }
.vp-profile .vp-portrait img { object-fit: cover; border-radius: 50%; }
.vp-profile .vp-banner img { object-fit: cover; }
.vp-profile .vp-sidebar, .vp-profile .vp-main-column { min-width: 0; }
.vp-profile .vp-contacts .uagb-icon-list__label { overflow-wrap: anywhere; }
.vp-profile .vp-services > .uagb-icon-list__wrap { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; width: 100%; }
.vp-profile .vp-service { min-height: 108px; padding: 22px; border: 1px solid #eae2d8; border-radius: 12px; background: #fcfaf6; margin: 0; width: 100%; }
.vp-profile .vp-service .uagb-icon-list__label { white-space: normal; }
.vp-profile .vp-service .uagb-icon-list__source-wrap { flex-shrink: 0; }
.vp-profile .vp-hour-value .uagb-icon-list__source-wrap { display: none; }
.vp-profile .vp-hour-value .uagb-icon-list__label { margin: 0; padding: 0; }
.vp-profile .vp-hour-value { justify-content: flex-end; margin: 0; }
.vp-profile .vo-partner-map { width: 100%; border-radius: 12px; overflow: hidden; }
.vp-voucher-list { display: grid; gap: 24px; }
.vp-voucher-card { display: grid; grid-template-columns: 44% minmax(0,1fr); overflow: hidden; border: 1px solid #eae2d8; border-radius: 14px; background: #fff; }
.vp-voucher-image { display: flex; background: #f8f3ec; min-height: 290px; }
.vp-voucher-image img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.vp-voucher-content { padding: 28px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.vp-voucher-content h3 { margin: 0; color: #173d39; font-family: Georgia,serif; font-size: 26px; font-weight: 400; line-height: 1.2; }
.vp-voucher-content p { margin: 0; color: #535b5b; font-size: 16px; line-height: 1.6; }
.vp-voucher-price { color: #173d39; font: 30px/1.2 Georgia,serif; }
.vp-voucher-price .woocommerce-price-suffix { font: 12px/1.4 sans-serif; }
.vp-voucher-button { display: flex; gap: 12px; align-items: center; justify-content: center; align-self: stretch; margin-top: auto; padding: 14px 16px; border-radius: 7px; background: #b84522; color: #fff; text-decoration: none; font-size: 16px; font-weight: 600; line-height: 1.4; }
.vp-voucher-button:hover { background: #923619; color: #fff; }
.vp-profile a:focus-visible { outline: 3px solid #173d39; outline-offset: 4px; }
.vp-pagination ul { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 20px 0 0; }
.vp-pagination a, .vp-pagination .current { display: block; padding: 8px 12px; border: 1px solid #eae2d8; border-radius: 6px; }
.vp-empty-offer { padding: 24px; border: 1px solid #eae2d8; border-radius: 12px; }
@media(max-width: 976px) { .vp-voucher-card { grid-template-columns: 1fr; } .vp-voucher-image { min-height: 0; height: 250px; } .vp-voucher-content { padding: 22px; } }
@media(max-width: 600px) { .vp-profile .vp-services > .uagb-icon-list__wrap { grid-template-columns: 1fr; } .vp-profile .vp-service { min-height: 82px; padding: 18px; } .vp-voucher-content h3 { font-size: 24px; } .vp-voucher-image { height: 230px; } }

.vp-profile .vp-hours-row { flex-wrap: nowrap; }
.vp-profile .vp-hours-row > * { width: auto; min-width: 0; flex: 0 1 auto; }
.vp-profile .uagb-buttons-repeater { text-decoration: none; }
