/* WordPress-native presentation. All colors and layout are separate from editable content. */
.pvwp-frontend { margin: 0; background: #050505; color: #eee8dc; font-family: Arial, Helvetica, sans-serif; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Contact buttons */
.pvn-contact-buttons { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.2rem 0 .6rem; }
.pvn-contact-buttons .pvn-button { min-height: 44px; }
.pvn-contact-privacy { max-width: 70ch; }
.pvn-contact-disabled { border: 1px dashed var(--pvn-line); }
.pvn-contact-page h2 { margin-top: 0; }
/* Legal documents */
.pvn-legal-meta { color: var(--pvn-muted); font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.pvn-legal-pending { border: 1px dashed var(--pvn-line); }
.pvn-legal-layers details { border-bottom: 1px solid var(--pvn-line); padding: .9rem 0; }
.pvn-legal-layers summary { cursor: pointer; color: var(--pvn-gold); font-weight: 700; }
.pvn-legal-identification dl { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: .4rem 1.2rem; margin: 1rem 0 0; }
.pvn-legal-identification dt { color: var(--pvn-muted); }
.pvn-legal-identification dd { margin: 0; }
.pvn-cookie-table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.pvn-cookie-table th, .pvn-cookie-table td { border: 1px solid var(--pvn-line); padding: .6rem; text-align: left; vertical-align: top; }
@media (max-width: 700px) { .pvn-legal-identification dl { grid-template-columns: 1fr; } }
/* Adult access is enforced on the server (inc/age-access.php) with its own neutral shell. */
.pvn-legal-report { border: 1px dashed var(--pvn-line); padding: 1rem; margin: 1.2rem 0; }
/* A profile shown through the source text because this locale has no version yet. */
.pvn-fallback-badge { border-color: #b98a3a; color: #e8c474; }
.pvn-fallback-notice { border-style: dashed; margin: 0 0 1.2rem; }
.pvn-cookie-banner { --pvn-gold: #e8c474; --pvn-line: #ad884e45; --pvn-muted: #beb4a3; color: #eee8dc; font-family: Arial, Helvetica, sans-serif; }
.pvn-cookie-banner .pvn-gold { background: #e8c474; color: #14100a; }
.pvn-cookie-banner { display: none; }
.pvn-cookie-banner .pvn-button { min-height: 44px; border: 1px solid var(--pvn-line); background: #0b0906; color: #e1bf7b; padding: .7rem 1rem; cursor: pointer; }
.pvn-cookie-banner:not([hidden]) { display: block; position: fixed; inset: auto 0 0 0; z-index: 70; padding: 1.2rem 4%; background: #080705f7; border-top: 1px solid var(--pvn-line); }
.pvn-cookie-banner h2 { margin: 0 0 .5rem; color: var(--pvn-gold); font-size: 1.05rem; }
.pvn-cookie-categories { display: flex; flex-wrap: wrap; gap: 1rem; margin: .8rem 0; }
.pvn-cookie-categories label { display: flex; align-items: center; gap: .5rem; }
.pvn-cookie-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .6rem; }
.pvn-cookie-banner .pvn-muted { color: var(--pvn-muted); font-size: .8rem; }
.pvn-site { --pvn-gold: #e8c474; --pvn-line: #ad884e45; --pvn-muted: #beb4a3; background: #050505; min-height: 100vh; overflow: clip; }
.public-page.pvn-site { padding: 0; width: 100%; margin: 0; }
.pvn-site > main { position: relative; z-index: 1; padding: 0; width: 100%; }
.pvn-site *, .pvn-site *::before, .pvn-site *::after { box-sizing: border-box; }
.pvn-site h1, .pvn-site h2, .pvn-site h3, .pvn-site h4 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; text-wrap: balance; margin: 0 0 .8rem; line-height: 1.15; }
.pvn-site p { line-height: 1.6; margin: .4rem 0 1rem; }
.pvn-site a { color: inherit; text-decoration: none; }
.pvn-site button, .pvn-site input, .pvn-site select { font: inherit; }
.pvn-site button, .pvn-site a, .pvn-site select, .pvn-site summary { -webkit-tap-highlight-color: #dab35830; }
.pvn-site button { cursor: pointer; }
.pvn-site button:disabled { cursor: not-allowed; opacity: .65; }
.pvn-site :focus-visible { outline: 2px solid #f0cc80; outline-offset: 4px; }
.pvn-site [hidden] { display: none !important; }
.pvn-site img { display: block; max-width: 100%; }
.pvn-site section[id] { scroll-margin-top: 1rem; }
.pvn-site h1 { font-size: clamp(2.1rem, 4.4vw, 4.6rem); color: #f1eadf; }
.pvn-site h2 { font-size: clamp(1.55rem, 2.5vw, 2.9rem); }
.pvn-site h3 { font-size: clamp(1.15rem, 1.8vw, 1.8rem); }
.pvn-mosaic { position: fixed; inset: 0; pointer-events: none; z-index: -1; background: #050505; }
.pvn-mosaic::before, .pvn-mosaic::after { content: ''; position: absolute; inset: 0; background-image: var(--pvn-mosaic); background-size: clamp(19rem, 28vw, 25rem); }
.pvn-mosaic::before { opacity: .055; filter: saturate(.68); }
.pvn-mosaic::after { opacity: 0; filter: sepia(.14) saturate(.8) brightness(1.06); mask-image: radial-gradient(circle 70px at var(--pvn-x, -200px) var(--pvn-y, -200px), #000 0, #000b 35%, transparent 100%); transition: opacity .4s; }
.pvn-mosaic[data-active]::after { opacity: .12; }
.pvn-header { position: relative; z-index: 10; border-bottom: 1px solid var(--pvn-line); background: #040404e8; }
.pvn-header-row { min-height: 110px; max-width: 1640px; padding: 1rem 2.5%; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.pvn-brand { display: inline-flex; align-items: center; gap: .65rem; flex: 0 1 auto; min-width: 0; }
.pvn-brand-mark { width: clamp(70px, 6.5vw, 104px); height: auto; object-fit: contain; flex: 0 0 auto; }
.pvn-brand-copy { display: flex; flex-direction: column; gap: .4rem; }
.pvn-brand-copy > span { font: italic clamp(2.6rem, 4.2vw, 4.4rem)/1 Georgia, serif; letter-spacing: -.055em; white-space: nowrap; }
.pvn-brand-gold { color: #edc766; background: linear-gradient(155deg, #fae7b4 10%, #b67b24 34%, #e3b751 56%, #f3d793 75%, #aa7931); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.pvn-brand-white { color: #f4eee4; }
.pvn-brand-copy small { color: #d0ac66; text-transform: uppercase; font-size: clamp(.48rem, .7vw, .68rem); letter-spacing: .17em; }
.pvn-custom-logo { max-height: 120px; width: auto; }
.pvn-desktop-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: clamp(1rem, 1.7vw, 2rem); }
.pvn-wp-menu { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; list-style: none; padding: 0; margin: 0; }
.pvn-wp-menu .sub-menu { padding-left: 1rem; list-style: none; margin-top: .5rem; }
.pvn-mobile-menu .pvn-wp-menu { display: block; }
.pvn-mobile-menu .pvn-wp-menu li { margin: .8rem 0; }
.pvn-desktop-nav a, .pvn-languages a { font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; padding: .55rem .3rem; color: #c7bfae; }
.pvn-desktop-nav a[aria-current], .pvn-languages a[aria-current] { color: #f2c966; border-bottom: 1px solid #d3ab54; }
.pvn-languages { display: flex; justify-content: center; align-items: center; gap: clamp(.7rem, 4vw, 4rem); min-height: 37px; border-top: 1px solid var(--pvn-line); background: #050505; }
.pvn-menu-button, .pvn-menu-close { color: var(--pvn-gold); border: 1px solid var(--pvn-line); background: transparent; min-height: 44px; padding: .6rem; }
.pvn-menu-button { display: none; }
.pvn-mobile-menu { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(85vw, 390px); max-width: 100%; height: 100dvh; max-height: 100dvh; background: #0a0907; color: #ecd4a5; border: 1px solid var(--pvn-line); padding: 1.5rem; }
.pvn-mobile-menu::backdrop { background: #000b; backdrop-filter: blur(3px); }
.pvn-menu-close { display: block; margin-left: auto; }
.pvn-mobile-menu nav { display: flex; flex-direction: column; gap: 1rem; padding-top: 2rem; }
.pvn-mobile-menu nav a { padding: 1rem .5rem; border-bottom: 1px solid var(--pvn-line); }
.pvn-noscript-nav { display: flex; flex-wrap: wrap; gap: .7rem; padding: 1rem; }
.pvn-hero { min-height: clamp(510px, 44vw, 730px); position: relative; isolation: isolate; display: flex; align-items: center; border-bottom: 1px solid var(--pvn-line); }
.pvn-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; z-index: -2; }
.pvn-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #030303 0%, #030303f0 25%, #03030365 51%, #03030305 77%), linear-gradient(0deg, #03030375, transparent 28%); z-index: -1; }
.pvn-hero-content { width: min(65%, 960px); padding: clamp(2rem, 5vw, 6rem) 5%; }
.pvn-eyebrow { color: var(--pvn-gold); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.pvn-eyebrow::before { content: ''; display: inline-block; width: 24px; border-top: 1px solid var(--pvn-gold); vertical-align: middle; margin-right: 1rem; }
.pvn-hero h1 { font-size: clamp(2.8rem, 5.35vw, 6rem); line-height: 1.04; letter-spacing: -.04em; margin: 1.4rem 0; text-wrap: normal; }
.pvn-hero h1 > span { color: var(--pvn-gold); }
.pvn-hero-location { font-size: 1.1rem; }
.pvn-kicker { color: var(--pvn-gold); font-size: .73rem; text-transform: uppercase; letter-spacing: .08em; }
.pvn-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
.pvn-button { display: inline-flex; justify-content: center; align-items: center; gap: 1.2rem; min-height: 46px; border: 1px solid #b68c43a0; background: #090806; color: var(--pvn-gold); padding: .85rem 1.25rem; font-size: .72rem; letter-spacing: .055em; text-transform: uppercase; line-height: 1.4; }
.pvn-site .pvn-gold { background: linear-gradient(125deg, #f4d485, #bd892e 42%, #e9be66 65%, #ca9f50); border-color: #e0b457; color: #151006; font-weight: 700; box-shadow: inset 0 1px #fce2a1, 0 5px 25px #dba94b13; }
.pvn-button:hover { filter: brightness(1.13); }
.pvn-hero-note { color: #e1d2b5; font-size: .7rem; max-width: 32rem; }
.pvn-disclosure { display: inline-block; color: #dfbd7b; background: #090805e8; border: 1px solid #b998474d; padding: .35rem .45rem; font-size: .55rem; line-height: 1.4; }
.pvn-hero-disclosure { position: absolute; bottom: 12px; right: 2%; max-width: 45%; }
.pvn-arrival { margin: 0 auto; display: flex; justify-content: center; gap: 1rem; padding: .7rem 1rem; border: 1px solid #b2873d; width: min(90%, 700px); background: linear-gradient(115deg, #0c0b08, #231908, #090806); }
.pvn-arrival > span { color: var(--pvn-gold); font-size: 2.3rem; }
.pvn-arrival strong { display: block; font-family: Georgia, serif; color: var(--pvn-gold); text-transform: uppercase; letter-spacing: .07em; }
.pvn-arrival small { display: block; font-size: .65rem; margin-top: .25rem; }
.pvn-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1640px; margin: auto; border: 1px solid var(--pvn-line); background: #050504b0; }
.pvn-trust article { padding: 1.2rem; border-right: 1px solid var(--pvn-line); text-align: center; }
.pvn-trust article:last-child { border-right: 0; }
.pvn-trust-icon { display: grid; place-items: center; color: var(--pvn-gold); border: 1px solid #b18a39; width: 43px; height: 43px; border-radius: 50%; margin: 0 auto .4rem; font-size: 1.8rem; }
.pvn-trust small { color: var(--pvn-gold); font-size: .65rem; }
.pvn-trust h2 { font-family: Arial, sans-serif; font-size: .73rem; letter-spacing: .05em; text-transform: uppercase; margin: .3rem 0; }
.pvn-trust p { font-size: .65rem; color: #c1b9aa; max-width: 14rem; margin: .4rem auto 0; }
.pvn-section { max-width: 1560px; margin: auto; padding: clamp(2.5rem, 4vw, 5rem) 4%; }
.pvn-section-heading { text-align: center; margin: 0 auto 2rem; max-width: 920px; }
.pvn-section-heading > p:not(.pvn-eyebrow) { color: var(--pvn-muted); font-size: .88rem; }
.pvn-coverage-zones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.pvn-coverage-zone { min-width: 0; background: #080704aa; border: 1px solid var(--pvn-line); }
.pvn-coverage-zone > h3 { padding: 1rem; text-align: center; color: var(--pvn-gold); border-bottom: 1px solid var(--pvn-line); margin: 0; }
.pvn-city-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pvn-city-card { min-width: 0; overflow: hidden; border: 1px solid #b9924b25; position: relative; }
.pvn-city-card img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; opacity: .86; transition: opacity .3s; }
.pvn-city-card:hover img { opacity: 1; }
.pvn-city-card > div { padding: .9rem; }
.pvn-city-card h4 { color: var(--pvn-gold); font-size: 1.2rem; margin-bottom: .25rem; }
.pvn-city-card small { font-size: .58rem; color: #bfa87e; text-transform: uppercase; letter-spacing: .05em; }
.pvn-muted { color: var(--pvn-muted); font-size: .72rem; }
.pvn-centered { text-align: center; margin-top: 1rem !important; }
.pvn-filters { border: 1px solid var(--pvn-line); padding: 1rem; margin-bottom: 2rem; background: #090805b8; }
.pvn-filters fieldset { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 0; padding: 0; border: 0; }
.pvn-filters legend { color: var(--pvn-gold); margin-bottom: 1rem; font-size: .78rem; }
.pvn-site label { display: flex; flex-direction: column; gap: .45rem; font-size: .74rem; color: #d7cbb4; flex: 1 1 12rem; }
.pvn-site select, .pvn-site input[type=search] { width: 100%; min-height: 44px; border: 1px solid #b9914a65; border-radius: 0; background: #0d0b08; color: #f0e9de; padding: .65rem .8rem; }
.pvn-filters fieldset > a { font-size: .75rem; padding: .9rem .25rem; text-decoration: underline; }
.pvn-profile-zone { margin: 1.8rem 0 2.5rem; min-width: 0; }
.pvn-row-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-bottom: .9rem; }
.pvn-row-heading > h3 { margin: 0; color: var(--pvn-gold); }
.pvn-carousel-controls { display: flex; gap: .45rem; }
.pvn-carousel-controls button { min-height: 40px; min-width: 40px; border: 1px solid var(--pvn-line); color: #e1bf7b; background: #0b0906; padding: .5rem; font-size: .68rem; }
.pvn-profile-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 24%); gap: 1rem; overflow-x: auto; padding: .25rem .15rem .7rem; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #8f7138 #080705; }
.pvn-profile-card { scroll-snap-align: start; overflow: hidden; min-width: 0; border: 1px solid var(--pvn-line); background: #060605ed; }
.pvn-profile-photo { display: block; }
.pvn-profile-photo img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
.pvn-profile-summary { padding: .9rem; }
.pvn-profile-summary h3 { font-size: 1.4rem; color: var(--pvn-gold); margin-bottom: .4rem; }
.pvn-profile-summary p { font-size: .72rem; margin: .25rem 0; }
.pvn-profile-summary small { color: #c0b59f; font-size: .7rem; }
.pvn-availability { color: #bad69f; font-size: .72rem; }
.pvn-availability::before { content: ''; width: 5px; height: 5px; background: currentColor; border-radius: 50%; display: inline-block; margin-right: .4rem; vertical-align: middle; }
.pvn-availability[data-status=unavailable] { color: #c79e92; }
.pvn-availability[data-status=on-request], .pvn-availability[data-status=limited] { color: #d4b978; }
.pvn-card-link { display: block; color: var(--pvn-gold) !important; font-size: .67rem; text-transform: uppercase; letter-spacing: .04em; margin-top: 1rem; padding: .5rem 0; }
.pvn-service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.pvn-service-item { min-width: 0; display: flex; }
.pvn-site .pvn-service-card { min-width: 0; width: 100%; background: #080706f0; border: 1px solid var(--pvn-line); display: flex; flex-direction: column; }
.pvn-service-photo { position: relative; overflow: hidden; }
.pvn-service-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.pvn-service-photo > .pvn-disclosure { position: absolute; bottom: .6rem; left: .6rem; max-width: calc(100% - 1.2rem); }
.pvn-service-select { position: absolute; top: .6rem; right: .6rem; color: #edc776; background: #060605ed; border: 1px solid #bb9447; padding: .7rem; min-height: 42px; max-width: calc(100% - 1.2rem); font-size: .63rem; }
.pvn-service-select[aria-pressed=true] { background: #c9a457; color: #080705; }
.pvn-service-copy { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.pvn-service-copy small { color: #d1b779; text-transform: uppercase; font-size: .6rem; letter-spacing: .07em; }
.pvn-service-copy h3 { color: #ead7ad; margin-top: .5rem; font-size: 1.6rem; }
.pvn-service-copy p { color: #bfb7a7; font-size: .8rem; }
.pvn-service-copy .pvn-card-link { margin-top: auto; }
.pvn-page-intro { padding-bottom: 1rem; }
.pvn-page-intro > p { max-width: 900px; color: #c8bba5; }
/* Profile card facts: what each model actually declares, never an empty line. */
.pvn-card-where { color: #d1b779; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; margin: .2rem 0 .45rem; }
.pvn-card-facts { list-style: none; padding: 0; margin: .4rem 0; display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.pvn-card-facts li { font-size: .78rem; color: #c0b69f; }
.pvn-card-label { color: #8d8474; text-transform: uppercase; font-size: .62rem; letter-spacing: .07em; margin-right: .25rem; }
.pvn-card-features { font-size: .75rem; color: #bfb7a7; margin: .3rem 0 .55rem; }
/* Discretion block and its guide button, published under every profile. */
.pvn-profile-information { border-top: 1px solid var(--pvn-line); padding: 2rem 0; overflow-wrap: anywhere; }
.pvn-profile-information h2 { margin: 0 0 1rem; }
.pvn-profile-information-body { max-width: 70ch; white-space: pre-wrap; line-height: 1.7; color: var(--pvn-muted, #c0b69f); }
.pvn-discretion { border-top: 1px solid var(--pvn-line); }
.pvn-discretion > p { max-width: 70ch; color: #c0b69f; font-size: .9rem; }
.pvn-guide-button { display: inline-flex; align-items: center; justify-content: center; margin-top: 1rem; padding: .8rem 2.2rem; border: 1.5px solid #d9537a; border-radius: 999px; background: #fff; color: #1b1b1b; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.pvn-guide-button:hover, .pvn-guide-button:focus-visible { background: #d9537a; color: #fff; }
.pvn-guide-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pvn-search-controls { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.pvn-results { font-size: .8rem; color: var(--pvn-muted); }
.pvn-selection, .pvn-notice { border: 1px solid var(--pvn-line); background: #0d0a06de; padding: 1.5rem; margin: 2rem 0; }
.pvn-selection h3, .pvn-notice h2 { font-size: 1.6rem; color: var(--pvn-gold); }
.pvn-selection p, .pvn-notice p { font-size: .85rem; color: #c0b69f; }
.pvn-selection small { display: block; margin-top: 1rem; font-size: .7rem; color: var(--pvn-muted); }
.pvn-selection ul { padding: 0; list-style: none; }
.pvn-selection li { display: flex; justify-content: space-between; align-items: center; padding: .7rem 0; border-bottom: 1px solid var(--pvn-line); gap: 1rem; }
.pvn-selection li button { border: 1px solid var(--pvn-line); background: #080705; color: var(--pvn-gold); padding: .6rem; min-height: 40px; }
.pvn-empty { padding: 2rem; border: 1px solid var(--pvn-line); }
.pvn-faq details { border-bottom: 1px solid var(--pvn-line); padding: 1rem 0; }
.pvn-faq summary { cursor: pointer; color: #e5c58d; padding: .6rem 0; }
.pvn-faq details p { max-width: 65rem; color: #c4baa8; }
.pvn-breadcrumb { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 2rem; font-size: .7rem; color: #ccb37d; }
.pvn-profile-detail, .pvn-service-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.pvn-gallery-main { margin: 0; position: relative; border: 1px solid var(--pvn-line); background: #080706; }
.pvn-gallery-main img { width: 100%; height: auto; max-height: 950px; object-fit: contain; }
.pvn-gallery-main figcaption { position: absolute; bottom: .6rem; left: .6rem; }
.pvn-gallery-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-top: .75rem; }
.pvn-gallery-thumbs a { border: 1px solid var(--pvn-line); padding: 2px; }
.pvn-gallery-thumbs a[aria-current] { border-color: #ebc771; box-shadow: 0 0 0 1px #ebc771; }
.pvn-gallery-thumbs img { aspect-ratio: 3 / 4; width: 100%; height: auto; object-fit: cover; object-position: top; }
.pvn-profile-info h1 { color: var(--pvn-gold); }
.pvn-profile-age { color: #d5c7ad; }
.pvn-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.pvn-tags > * { border: 1px solid var(--pvn-line); padding: .45rem .65rem; font-size: .73rem; color: #cfb988; }
.pvn-detail-image { position: relative; }
.pvn-detail-image img { width: 100%; height: auto; object-fit: contain; }
.pvn-detail-image > .pvn-disclosure { position: absolute; bottom: .6rem; left: .6rem; }
.pvn-lead { color: #d1c3aa; font-size: 1.1rem; }
.pvn-rich { color: #d1c7b8; line-height: 1.75; overflow-wrap: anywhere; }
.pvn-rich h2, .pvn-rich h3 { color: #e5c98e; margin: 1.5rem 0 .75rem; }
.pvn-rich h2 { font-size: 1.65rem; }
.pvn-rich h3 { font-size: 1.4rem; }
.pvn-rich p { margin: 0 0 1rem; }
.pvn-rich a { color: #f0cd83; text-decoration: underline; }
.pvn-rich ul, .pvn-rich ol { padding-left: 1.3rem; }
.pvn-rich li { margin-bottom: .5rem; }
.pvn-rich img { max-width: 100%; height: auto; }
.pvn-rich iframe, .pvn-rich video { max-width: 100%; }
.pvn-rich .wp-block-table { overflow-x: auto; }
.pvn-rich table { border-collapse: collapse; width: 100%; }
.pvn-rich td, .pvn-rich th { border: 1px solid var(--pvn-line); padding: .75rem; text-align: left; }
.pvn-editorial-page { max-width: 1080px; }
.pvn-page-image { max-height: 650px; width: 100%; object-fit: contain; margin: 2rem 0; }
.pvn-editor-link { display: inline-block; border: 1px dashed var(--pvn-line); padding: .4rem; font-size: .7rem; margin: 1rem 0; }
.pvn-related { margin: 3rem 0; }
.pvn-extra-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; margin: 2rem 0; }
.pvn-extra-gallery img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; background: #070605; }
.pvn-listing-title { max-width: 1450px; padding: 2.5rem 4% 0; margin: auto !important; }
.pvn-security { border-top: 1px solid var(--pvn-line); }
.pvn-security ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.pvn-security li { border-left: 1px solid #a48746; padding: .8rem 1.2rem; color: #baaf9c; font-size: .78rem; line-height: 1.6; }
.pvn-footer { text-align: center; padding: 2rem 4%; border-top: 1px solid var(--pvn-line); background: #040403b8; }
.pvn-footer > p { font-size: .8rem; }
.pvn-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.3rem; margin: 1.5rem 0; }
.pvn-footer a { padding: .4rem 0; font-size: .73rem; color: #c4aa72; }
.pvn-bottom-nav { display: none; }
.pvn-preview-notice { padding: .7rem; text-align: center; background: #39300e; color: #fff; }
@media (min-width: 1450px) { .pvn-hero { max-width: 1740px; margin: auto; } }
@media (max-width: 1000px) {
  .pvn-desktop-nav { display: none; }
  .pvn-menu-button:not([hidden]) { display: block; }
  .pvn-header-row { gap: 1rem; }
  .pvn-hero-content { width: 72%; }
  .pvn-profile-track { grid-auto-columns: minmax(190px, 31%); }
}
@media (max-width: 700px) {
  .pvn-header-row { min-height: 100px; padding: .6rem 4%; gap: .4rem; }
  .pvn-brand { gap: .25rem; }
  .pvn-brand-mark { width: clamp(52px, 16vw, 80px); }
  .pvn-brand-copy > span { font-size: clamp(2rem, 8vw, 3.2rem); }
  .pvn-brand-copy small { font-size: clamp(.39rem, 1.45vw, .61rem); letter-spacing: .06em; }
  .pvn-menu-button { font-size: 0; border: 0; min-width: 36px; padding: .4rem; }
  .pvn-menu-button > span { font-size: 1.5rem; }
  .pvn-languages { gap: 4%; min-height: 35px; }
  .pvn-languages a { font-size: .59rem; padding: .45rem .4rem; }
  .pvn-hero { min-height: 515px; align-items: start; }
  .pvn-hero-image { object-position: 61% center; }
  .pvn-hero::before { background: linear-gradient(90deg, #030303f0 0, #030303a0 27%, #03030305 70%), linear-gradient(0deg, #030303 0, #03030366 17%, transparent 50%); }
  .pvn-hero-content { width: 65%; padding: 1.7rem 4%; }
  .pvn-hero h1 { font-size: clamp(2.25rem, 8.7vw, 3.8rem); line-height: .99; margin: .9rem 0; }
  .pvn-hero .pvn-eyebrow { font-size: .52rem; letter-spacing: .07em; margin: 0 0 .7rem; }
  .pvn-hero .pvn-eyebrow::before { width: 15px; margin-right: .35rem; }
  .pvn-hero-location { font-size: .73rem; }
  .pvn-kicker { font-size: .57rem; letter-spacing: .06em; }
  .pvn-hero-actions { display: flex; flex-direction: column; gap: .6rem; margin: .9rem 0; }
  .pvn-hero-actions .pvn-button { font-size: .6rem; padding: .75rem .6rem; min-height: 46px; justify-content: space-between; gap: .4rem; }
  .pvn-hero-note { font-size: .54rem; }
  .pvn-hero-disclosure { font-size: .43rem; right: 3%; bottom: 8px; max-width: 90%; }
  .pvn-trust article { padding: .75rem .45rem; }
  .pvn-trust-icon { width: 34px; height: 34px; font-size: 1.4rem; }
  .pvn-trust h2 { font-size: .54rem; line-height: 1.35; }
  .pvn-trust p { font-size: .5rem; line-height: 1.4; }
  .pvn-arrival strong { font-size: .75rem; }
  .pvn-arrival small { font-size: .52rem; }
  .pvn-section { padding: 2.5rem 4%; }
  .pvn-section-heading { margin-bottom: 1.4rem; }
  .pvn-eyebrow { font-size: .6rem; }
  .pvn-section-heading > p:not(.pvn-eyebrow) { font-size: .75rem; }
  .pvn-coverage-zones { grid-template-columns: 1fr; }
  .pvn-city-card img { aspect-ratio: 16 / 9; }
  .pvn-profile-track { grid-auto-columns: minmax(155px, 46%); gap: .65rem; }
  .pvn-profile-summary { padding: .7rem; }
  .pvn-profile-summary h3 { font-size: 1.2rem; }
  .pvn-profile-summary p, .pvn-profile-summary small { font-size: .64rem; }
  .pvn-filters { padding: .8rem; }
  .pvn-filters fieldset { gap: .8rem; }
  .pvn-filters label { flex-basis: 100%; }
  .pvn-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .pvn-service-copy { padding: .7rem; }
  .pvn-service-copy h3 { font-size: 1.2rem; }
  .pvn-service-copy p { font-size: .71rem; }
  .pvn-service-select { font-size: .54rem; padding: .45rem; }
  .pvn-service-photo > .pvn-disclosure { font-size: .43rem; }
  .pvn-profile-detail, .pvn-service-detail { grid-template-columns: 1fr; gap: 1.7rem; }
  .pvn-gallery-main img { max-height: none; }
  .pvn-gallery-thumbs { gap: .5rem; }
  .pvn-selection { padding: 1rem; }
  .pvn-security ul { grid-template-columns: 1fr; }
  .pvn-footer { padding-bottom: 100px; }
  .pvn-bottom-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; z-index: 20; bottom: 0; left: 0; right: 0; min-height: 59px; padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid #a48845; background: #060605f5; backdrop-filter: blur(10px); }
  .pvn-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; padding: .4rem .2rem; font-size: .48rem; text-transform: uppercase; color: #c4b58f; text-align: center; }
  .pvn-bottom-nav a > span { color: #d4ac56; font-size: 1.4rem; }
}
@media (max-width: 350px) { .pvn-service-grid { grid-template-columns: 1fr; } .pvn-brand-copy > span { font-size: 1.8rem; } .pvn-brand-mark { width: 48px; } .pvn-hero-content { width: 72%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } .pvn-site *, .pvn-site *::before, .pvn-site *::after { transition: none !important; scroll-behavior: auto !important; animation: none !important; } .pvn-mosaic::after { display: none; } }
.pvn-gallery-videos{display:grid;gap:1.2rem;margin-top:1.4rem;min-width:0}.pvn-gallery-videos figure{margin:0;min-width:0}.pvn-gallery-videos video{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#050505;border:1px solid var(--pvn-line);border-radius:8px}.pvn-gallery-videos figcaption{padding:.5rem 0;color:var(--pvn-muted);font-size:.75rem}.pvn-profile-media-editor{min-width:0}.pvn-profile-media-editor .pvc-gallery{padding:0;list-style:none}.pvn-profile-media-editor .pvc-gallery li{color:#1d2327}.pvn-profile-media-editor .pvc-gallery button{padding:.35rem .55rem;color:#1d2327;background:#f6f7f7;border:1px solid #8c8f94;cursor:pointer}.pvn-profile-media-editor>.pvc-gallery-control>.button{padding:.5rem .85rem;border:1px solid var(--pvn-gold);color:var(--pvn-gold);background:transparent;cursor:pointer}


/* PecadosVIP: refined navigation and profile-first home layout. */
.pvn-refined .pvn-desktop-nav { gap: clamp(.7rem, 1.6vw, 1.5rem); }
.pvn-refined .pvn-desktop-nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .72rem; transition: color .2s; }
.pvn-refined .pvn-desktop-nav a:hover, .pvn-refined .pvn-languages a:hover { color: #f2d58e; }
.pvn-refined .pvn-languages { min-height: 38px; }
.pvn-refined .pvn-languages a { min-height: 36px; display: inline-flex; align-items: center; }
.pvn-refined .pvn-button { min-height: 48px; border-radius: 3px; padding: .9rem 1.4rem; font-size: .75rem; letter-spacing: .075em; }
.pvn-refined .pv-button-outline { border: 1px solid #b99757; background: #090806db; color: #ecd4a0; }
.pvn-refined .pv-button-outline:hover { background: #1a150d; border-color: #f1d08b; }
.pvn-refined .pvn-profile-card, .pvn-refined .pvn-service-card { border-color: #aa854336; border-radius: 5px; transition: border-color .2s, transform .2s; }
.pvn-refined .pvn-profile-card:hover, .pvn-refined .pvn-service-card:hover { border-color: #be995e; transform: translateY(-3px); }
.pvn-refined .pvn-card-link { min-height: 40px; display: flex; align-items: center; gap: .8rem; font-size: .71rem; }
.pvn-refined .pvn-profile-photo[href$="/isabella"] img { object-position: right top; }
.pvn-home-refresh .pvn-hero { min-height: clamp(470px, 38vw, 580px); }
.pvn-home-refresh .pvn-hero-content { width: min(66%, 900px); padding: 3rem 5%; }
.pvn-home-refresh .pvn-hero h1 { font-size: clamp(2.8rem, 4.7vw, 5rem); line-height: 1.1; letter-spacing: -.035em; margin: 1.2rem 0 1.5rem; }
.pvn-home-refresh .pvn-hero-location { max-width: 490px; font-size: 1rem; line-height: 1.7; color: #dfd8ca; }
.pvn-home-refresh .pvn-hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: .75rem; margin: 1.7rem 0 1.2rem; }
.pvn-refined .pvn-home-refresh .pvn-hero-actions .pvn-button { width: auto; max-width: 100%; font-size: .76rem; padding: 1rem 1.5rem; font-weight: 600; -webkit-text-stroke: 0; }
.pvn-home-refresh .pvn-hero-note { max-width: 460px; font-size: .77rem; line-height: 1.7; color: #bfb39c; }
.pvn-home-refresh .pv-essentials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: none; width: 100%; border-width: 0 0 1px; background: #0a0907; padding: 0 4%; }
.pvn-home-refresh .pv-essential { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: 1.15rem .75rem; margin: 0; text-align: center; font-size: .75rem; letter-spacing: .06em; color: #d9c6a2; }
.pvn-home-refresh .pv-essential + .pv-essential { border-left: 1px solid #b996542b; }
.pvn-home-refresh .pv-essential span { color: #d8b361; font-size: 1.15rem; }
.pvn-home-refresh .pvn-section { max-width: 1360px; padding: 4.5rem 5%; }
.pvn-home-refresh .pvn-section-heading { max-width: 800px; margin-bottom: 2.2rem; }
.pvn-home-refresh .pvn-section-heading h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.pvn-home-refresh .pvn-section-heading .pv-section-intro { font-size: .95rem; color: #c2b9a8; line-height: 1.7; max-width: 660px; margin: 1rem auto 0; }
.pvn-home-refresh .pvn-filters { border-radius: 5px; max-width: 1040px; margin: 0 auto 2rem; padding: 1rem 1.3rem; }
.pvn-home-refresh .pvn-filters legend { font-size: .74rem; margin-bottom: .8rem; }
.pvn-home-refresh .pvn-profile-zone { margin: 2rem auto; }
.pvn-home-refresh .pvn-row-heading { max-width: 1040px; margin: 0 auto; }
.pvn-home-refresh .pvn-profile-track { grid-auto-flow: unset; grid-auto-columns: auto; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); overflow: visible; gap: 1.5rem; padding: .25rem 0; }
.pvn-home-refresh .pvn-profile-track.pv-profile-pair { max-width: 840px; margin: 0 auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pvn-home-refresh .pvn-profile-photo img { aspect-ratio: 4 / 5; }
.pvn-home-refresh .pvn-profile-summary { padding: 1.35rem; }
.pvn-home-refresh .pvn-profile-summary h3 { font-size: 1.85rem; }
.pvn-home-refresh .pvn-profile-summary p, .pvn-home-refresh .pvn-card-facts { font-size: .81rem; }
.pvn-home-refresh .pv-section-action { margin-top: 2rem !important; }
.pvn-home-refresh #servicios { border-top: 1px solid #a987442e; }
.pvn-home-refresh #servicios .pvn-service-grid { gap: 1.3rem; }
.pvn-home-refresh #servicios .pvn-service-photo img { aspect-ratio: 1 / 1; }
.pvn-home-refresh #servicios .pvn-service-copy h3 { font-size: 1.45rem; }
.pvn-home-refresh #servicios .pvn-service-copy p { line-height: 1.7; }
.pvn-home-refresh .pv-visit-section { padding-top: 1.5rem; padding-bottom: 3.5rem; }
.pv-visit-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.3rem; }
.pv-visit-feature { padding: clamp(1.7rem, 3.4vw, 3.2rem); background: radial-gradient(ellipse at 0 0, #41311b55, transparent 70%), #0b0a08; border: 1px solid #af8a4c65; border-radius: 5px; }
.pv-visit-feature h2 { max-width: 580px; margin: 1.1rem 0; color: #f0e5d1; }
.pv-visit-feature .pv-visit-lead { color: #c6bcaa; font-size: .91rem; line-height: 1.8; }
.pv-visit-steps { list-style: none; counter-reset: visit; padding: .5rem 0; margin: 1.4rem 0; display: grid; gap: 1.2rem; }
.pv-visit-steps li { position: relative; counter-increment: visit; padding-left: 3.5rem; min-height: 42px; }
.pv-visit-steps li::before { content: '0' counter(visit); position: absolute; left: 0; top: 0; font: 1.65rem/1.2 Georgia, serif; color: #cda962; }
.pv-visit-steps strong { color: #ecdcbf; font-size: .87rem; font-weight: 600; }
.pv-visit-steps p { margin: .25rem 0 0; color: #bdb29f; font-size: .81rem; line-height: 1.65; }
.pv-visit-side { display: grid; grid-template-rows: 1fr auto; gap: 1.3rem; }
.pv-visit-panel { padding: clamp(1.5rem, 2.5vw, 2.4rem); border: 1px solid #ad8c463b; background: #0b0a08eb; border-radius: 5px; }
.pv-visit-panel h3 { color: #ead6ad; font-size: 1.55rem; }
.pv-visit-panel > p:not(.pv-panel-icon) { font-size: .86rem; color: #c3b8a6; line-height: 1.8; }
.pv-visit-panel .pv-panel-icon { color: #d6b372; font-size: 1.9rem; margin: 0 0 1rem; }
.pv-visit-panel .pvn-card-link { margin-top: .8rem; }
.pvn-home-refresh #cobertura { padding-top: 2.5rem; border-top: 1px solid #a987442e; }
.pvn-home-refresh .pvn-city-card img { aspect-ratio: 16 / 8; }
.pvn-refined .pvn-footer { padding-top: 3rem; padding-bottom: 2rem; }
.pvn-refined .pvn-footer nav { max-width: 1080px; margin: 1.4rem auto; }
@media (max-width: 1000px) {
  .pvn-home-refresh .pvn-hero-content { width: 72%; }
  .pv-visit-grid { grid-template-columns: 1.25fr 1fr; }
}
@media (max-width: 700px) {
  .pvn-refined .pvn-languages { gap: .45rem; justify-content: space-evenly; }
  .pvn-refined .pvn-languages a { font-size: .62rem; padding: .5rem .3rem; }
  .pvn-home-refresh .pvn-hero { min-height: 560px; align-items: flex-end; }
  .pvn-home-refresh .pvn-hero-image { object-position: 65% center; }
  .pvn-home-refresh .pvn-hero::before { background: linear-gradient(0deg, #040403 0%, #040403e8 28%, #04040385 58%, #04040330 100%); }
  .pvn-home-refresh .pvn-hero-content { width: 100%; padding: 8rem 6% 2rem; }
  .pvn-home-refresh .pvn-hero h1 { max-width: 520px; font-size: clamp(2.35rem, 8.3vw, 3.7rem); margin: .9rem 0 1.1rem; }
  .pvn-home-refresh .pvn-hero .pvn-eyebrow { font-size: .6rem; }
  .pvn-home-refresh .pvn-hero-location { font-size: .91rem; max-width: 440px; }
  .pvn-home-refresh .pvn-hero-actions { flex-direction: column; max-width: 440px; gap: .65rem; margin: 1.3rem 0 1rem; }
  .pvn-refined .pvn-home-refresh .pvn-hero-actions .pvn-button { width: 100%; min-height: 48px; font-size: .74rem; }
  .pvn-home-refresh .pvn-hero-note { font-size: .73rem; }
  .pvn-home-refresh .pv-essentials { padding: .3rem 3%; }
  .pvn-home-refresh .pv-essential { flex-direction: column; gap: .4rem; font-size: .64rem; letter-spacing: .01em; padding: .8rem .35rem; line-height: 1.5; }
  .pvn-home-refresh .pv-essential span { font-size: 1rem; }
  .pvn-home-refresh .pvn-section { padding: 3rem 5%; }
  .pvn-home-refresh .pvn-section-heading h2 { font-size: 2rem; }
  .pvn-home-refresh .pvn-section-heading .pv-section-intro { font-size: .86rem; }
  .pvn-home-refresh .pvn-filters { padding: 1rem; }
  .pvn-home-refresh .pvn-profile-track, .pvn-home-refresh .pvn-profile-track.pv-profile-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .pvn-home-refresh .pvn-profile-summary { padding: .8rem; }
  .pvn-home-refresh .pvn-profile-summary h3 { font-size: 1.4rem; }
  .pvn-home-refresh .pvn-profile-summary p, .pvn-home-refresh .pvn-card-facts { font-size: .72rem; }
  .pvn-home-refresh #servicios .pvn-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .pvn-home-refresh #servicios .pvn-service-copy h3 { font-size: 1.25rem; }
  .pv-visit-grid { grid-template-columns: 1fr; }
  .pv-visit-feature { padding: 1.7rem; }
  .pv-visit-feature h2 { font-size: 2rem; }
  .pv-visit-side { grid-template-rows: auto; }
  .pv-visit-panel { padding: 1.7rem; }
  .pvn-refined .pvn-footer { padding-bottom: 105px; }
  .pvn-bottom-nav a { font-size: .57rem; min-height: 62px; line-height: 1.35; }
  .pvn-bottom-nav.pv-quick-nav { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 370px) {
  .pvn-home-refresh .pvn-profile-track, .pvn-home-refresh .pvn-profile-track.pv-profile-pair, .pvn-home-refresh #servicios .pvn-service-grid { grid-template-columns: 1fr; }
  .pv-visit-feature, .pv-visit-panel { padding: 1.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pvn-refined .pvn-profile-card, .pvn-refined .pvn-service-card { transition: none; transform: none; }
}


/* Editorial sections preserve the original logo, wordmark and tagline rules. */
.pv-editorial-refresh .pvn-header { position: relative; z-index: 30; }
.pv-topic-menu { position: relative; }
.pv-topic-menu > summary { list-style: none; cursor: pointer; display: flex; gap: .6rem; align-items: center; min-height: 44px; color: #c7bfae; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; padding: .55rem .3rem; }
.pv-topic-menu > summary::-webkit-details-marker { display: none; }
.pv-topic-menu > summary::after { content: ''; width: .4rem; height: .4rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.pv-topic-menu[open] > summary { color: #f2d58e; }
.pv-topic-menu[open] > summary::after { transform: rotate(225deg) translate(-2px, -2px); }
.pv-topic-links { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 290px; padding: .65rem 1rem; border: 1px solid #8d7248; border-radius: 4px; background: #0c0b09; box-shadow: 0 18px 50px #0009; z-index: 50; }
.pv-editorial-refresh .pvn-desktop-nav .pv-topic-links a { display: flex; min-height: 44px; line-height: 1.6; padding: .7rem .35rem; border-bottom: 1px solid #b08b4426; text-transform: none; font-size: .83rem; letter-spacing: 0; }
.pv-topic-links a:last-child { border-bottom: 0 !important; }
.pv-topic-menu > summary:focus-visible, .pv-home-index a:focus-visible, .pv-home-faq summary:focus-visible, .pv-info-toc a:focus-visible { outline: 2px solid #e2bd72; outline-offset: 4px; }
.pv-mobile-topics { display: grid; gap: .15rem; border-bottom: 1px solid #b08b4426; padding: .7rem 0; }
.pv-mobile-topics > p { margin: .4rem .5rem; }
.pvn-mobile-menu .pv-mobile-topics a { border: 0; font-size: .84rem; padding: .65rem 1rem; min-height: 44px; }
.pv-home-index { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem 1.8rem; padding: .65rem 4%; background: #100e0a; border-bottom: 1px solid #b08b4433; }
.pv-index-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .11em; color: #a99878; }
.pv-index-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .1rem 1.3rem; }
.pv-home-index a { display: inline-flex; align-items: center; min-height: 44px; font-size: .75rem; color: #dfcdab; text-decoration: none; }
.pv-home-index a:hover, .pv-breadcrumb a:hover { color: #f4d48f; text-decoration: underline; text-underline-offset: .3rem; }
.pv-home-editorial .pv-text-section { max-width: 1200px; padding: 4.2rem 5%; border-top: 1px solid #ad894535; scroll-margin-top: 2rem; }
.pv-editorial-heading { margin-bottom: 1.8rem; }
.pv-editorial-heading h2 { color: #f0e4ce; font: 400 clamp(2rem, 3vw, 2.85rem)/1.2 Georgia, serif; max-width: 900px; margin: .7rem 0 0; letter-spacing: -.02em; }
.pv-text-section p, .pv-rate-list dd { color: #c9bfad; font-size: .93rem; line-height: 1.85; margin: 0 0 1.1rem; }
.pv-text-section .pvn-eyebrow { color: #cfae6b; font-size: .68rem; letter-spacing: .15em; }
.pv-editorial-intro { max-width: 860px; }
.pv-text-section h3 { color: #e4cfaa; font: 400 1.55rem/1.3 Georgia, serif; margin: 0 0 1rem; }
.pv-venue-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin: 2.2rem 0 1.3rem; }
.pv-venue { position: relative; border-top: 1px solid #b9965759; padding: 1.6rem 0 0 3.5rem; }
.pv-section-number { position: absolute; left: 0; top: 1.6rem; color: #b5945d; font: 1.8rem/1 Georgia, serif; }
.pv-editorial-link { width: fit-content; color: #e4bc75; text-decoration: underline; text-underline-offset: .35rem; }
.pv-editorial-split { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
.pv-editorial-aside { border-left: 2px solid #b68f50; padding: .3rem 0 .3rem 1.8rem; background: linear-gradient(90deg, #9e733211, transparent); }
.pv-editorial-aside p { font-size: .87rem; }
.pv-editorial-aside .pvn-card-link { color: #e4bc75; }
.pv-home-editorial .pv-first-section { background: radial-gradient(ellipse at 30% 0, #6a4e2324, transparent 70%); }
.pv-editorial-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; counter-reset: pvsteps; margin: 2.5rem 0; padding: 0; }
.pv-editorial-steps li { counter-increment: pvsteps; padding-top: 1.2rem; border-top: 1px solid #b9965759; }
.pv-editorial-steps li::before { content: '0' counter(pvsteps); display: block; font: 1.6rem Georgia, serif; color: #b5945d; margin-bottom: 1rem; }
.pv-editorial-steps h3 { font-size: 1.4rem; margin-bottom: .7rem; }
.pv-editorial-steps p { font-size: .86rem; }
.pv-text-section .pvn-button { margin-top: .7rem; max-width: 100%; text-align: center; line-height: 1.6; }
.pv-rate-list { margin: 0; }
.pv-rate-list > div { padding: 0 0 1.1rem; margin: 0 0 1.2rem; border-bottom: 1px solid #b08b4433; }
.pv-rate-list dt { color: #e4cfaa; font-size: .91rem; font-weight: 600; margin-bottom: .5rem; }
.pv-rate-list dd { margin: 0; font-size: .85rem; }
.pv-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.pv-note-grid > article + article { border-left: 1px solid #b08b4433; padding-left: 2rem; }
.pv-note-grid h3 { font-size: 1.3rem; }
.pv-note-grid p { font-size: .84rem; }
.pv-faq-section .pv-faq-lead { max-width: 780px; }
.pv-home-faq { margin: 2rem 0; }
.pv-home-faq details { border-bottom: 1px solid #9b794143; }
.pv-home-faq details:first-child { border-top: 1px solid #9b794143; }
.pv-home-faq summary { position: relative; list-style: none; cursor: pointer; padding: 1.25rem 2.5rem 1.25rem 0; font-size: 1rem; line-height: 1.6; color: #e9d9ba; }
.pv-home-faq summary::-webkit-details-marker { display: none; }
.pv-home-faq summary::after { content: '+'; position: absolute; right: .5rem; top: 1.15rem; color: #cda566; font-size: 1.4rem; font-weight: 400; }
.pv-home-faq details[open] summary::after { content: '−'; }
.pv-home-faq details[open] { background: #98703c0a; }
.pv-home-faq details > p { max-width: 900px; padding: 0 2.5rem .7rem 0; }
.pv-editorial-refresh .pvn-footer .pv-footer-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; text-align: left; margin: 1.8rem auto 2.5rem; }
.pv-footer-group { display: flex; flex-direction: column; align-items: flex-start; }
.pv-footer-group h2 { color: #e4cfaa; font: 400 1.2rem/1.3 Georgia, serif; margin: 0 0 1rem; }
.pv-editorial-refresh .pv-footer-group a { display: inline-flex; align-items: center; min-height: 38px; line-height: 1.6; }
.pv-breadcrumb { display: flex; flex-wrap: wrap; gap: .3rem .75rem; align-items: center; max-width: 1360px; padding: 1.4rem 5% 0; margin: auto; color: #c4b694; font-size: .75rem; }
.pv-breadcrumb > * + *::before { content: '/'; margin-right: .75rem; color: #89734f; }
.pv-breadcrumb a { color: #dbc08b; min-height: 36px; display: inline-flex; align-items: center; }
.pv-breadcrumb [aria-current] { overflow-wrap: anywhere; }
/* Shared reading layout for the published WordPress guides and FAQ pages. */
.pvwp-native-shell:has(.pv-info-nav) { max-width: 1120px; }
.pvwp-native-shell:has(.pv-info-nav) article > h1 { font: 400 clamp(2rem, 4vw, 3.25rem)/1.2 Georgia, serif; color: #f0e4ce; margin-bottom: 1.8rem; }
.pvwp-native-shell:has(.pv-info-nav) p, .pvwp-native-shell:has(.pv-info-nav) li { line-height: 1.85; color: #d2c9b8; }
.pvwp-native-shell:has(.pv-info-nav) h2 { font: 400 clamp(1.55rem, 2.5vw, 2rem)/1.3 Georgia, serif; color: #ead7b1; padding-top: .7rem; scroll-margin-top: 2rem; }
.pv-info-toc { margin: 1.7rem 0 2.4rem; padding: 1.4rem 1.6rem; border: 1px solid #9978475c; background: #110f0b; }
.pv-info-toc > p { margin: 0 0 .8rem; color: #e7c88e !important; font-weight: 600; font-size: .92rem; }
.pv-info-toc ol { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; row-gap: .25rem; list-style: none; padding: 0; margin: 0; }
.pv-info-toc a { display: inline-flex; align-items: center; min-height: 40px; font-size: .86rem; color: #d8c3a0; text-decoration: none; }
.pv-info-toc a:hover { text-decoration: underline; text-underline-offset: .3rem; }
.pvwp-native-shell .pecadosvip-faq-content details { padding: .2rem 0; border-color: #9b794143; }
.pvwp-native-shell .pecadosvip-faq-content summary { padding: 1.1rem 2rem 1.1rem .25rem; color: #e6d8bd; font-weight: 500; }
.pvwp-native-shell .pecadosvip-faq-content details[open] { background: #98703c0a; }
.pvwp-native-shell .pecadosvip-faq-content details p { padding: 0 .8rem .8rem; font-size: .94rem; }
.pvwp-native-shell:has(.pv-info-nav) details { padding: .2rem 0; border-bottom: 1px solid #9b794143; }
.pvwp-native-shell:has(.pv-info-nav) summary { position: relative; list-style: none; cursor: pointer; padding: 1.1rem 2.2rem 1.1rem .25rem; color: #e6d8bd; font-weight: 500; line-height: 1.65; }
.pvwp-native-shell:has(.pv-info-nav) summary::-webkit-details-marker { display: none; }
.pvwp-native-shell:has(.pv-info-nav) summary::after { content: '+'; position: absolute; right: .5rem; top: 1rem; color: #cda566; font-size: 1.35rem; }
.pvwp-native-shell:has(.pv-info-nav) details[open] { background: #98703c0a; }
.pvwp-native-shell:has(.pv-info-nav) details[open] > summary::after { content: '−'; }
.pvwp-native-shell:has(.pv-info-nav) details p { padding: 0 .8rem .8rem; font-size: .94rem; }
@media (max-width: 1000px) {
  .pv-editorial-refresh .pvn-desktop-nav { gap: .55rem; }
  .pv-editorial-split { gap: 2rem; }
}
@media (max-width: 700px) {
  .pv-home-index { display: block; padding: .9rem 5%; }
  .pv-index-label { display: block; margin-bottom: .4rem; }
  .pv-index-links { justify-content: flex-start; column-gap: 1.3rem; }
  .pv-home-index a { font-size: .72rem; min-height: 40px; }
  .pv-home-editorial .pv-text-section { padding: 2.8rem 6%; }
  .pv-editorial-heading h2 { font-size: 2rem; }
  .pv-text-section p { font-size: .9rem; }
  .pv-venue-grid, .pv-editorial-split, .pv-note-grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .pv-editorial-steps { grid-template-columns: 1fr; gap: 1rem; }
  .pv-editorial-steps li { position: relative; padding: 1.2rem 0 0 3rem; }
  .pv-editorial-steps li::before { position: absolute; top: 1.2rem; left: 0; }
  .pv-note-grid > article + article { border-left: 0; border-top: 1px solid #b08b4433; padding: 1.4rem 0 0; }
  .pv-home-faq summary { font-size: .94rem; }
  .pv-editorial-refresh .pvn-footer .pv-footer-directory { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .pv-footer-group:last-child { grid-column: 1 / -1; }
  .pv-info-toc { padding: 1.1rem; }
  .pv-info-toc ol { grid-template-columns: 1fr; }
}


/* Combinable model search. The original brand dimensions are unchanged. */
.pvp-model-filters { padding: 1.5rem; border-radius: 5px; margin-bottom: 1rem; }
.pvp-model-filters fieldset { display: block; min-width: 0; }
.pvp-model-filters legend { font: 400 1.5rem/1.3 Georgia,serif; color: #ead7b1; }
.pvp-filter-lead { margin: .2rem 0 1.4rem; font-size: .86rem; line-height: 1.65; color: #c7bca8; }
.pvp-filter-primary,.pvp-filter-secondary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.pvp-model-filters .pvp-filter-field { display: flex; flex-direction: column; gap: .5rem; min-width: 0; font-size: .78rem; color: #dbc6a0; }
.pvp-model-filters select,.pvp-model-filters input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; background: #15120d; color: #e8dbc3; border: 1px solid #857045; border-radius: 3px; padding: .75rem; font: inherit; font-size: .88rem; font-weight: 400; line-height: 1.4; color-scheme: dark; }
.pvp-model-filters select option { color: #eee0c3; background: #15120d; }
.pvp-model-filters input::placeholder { color: #aea18a; opacity: 1; }
.pvp-physical-filters { margin: 1.2rem 0; border-top: 1px solid #9c7c4540; border-bottom: 1px solid #9c7c4540; padding: .2rem 0; }
.pvp-physical-filters > summary { cursor: pointer; color: #d6b578; font-size: .84rem; padding: .85rem .1rem; min-height: 44px; }
.pvp-physical-filters[open] .pvp-filter-secondary { margin: .5rem 0 1rem; }
.pvp-filter-help { font-size: .73rem; color: #b7aa93; line-height: 1.6; margin: .8rem 0; }
.pvp-filter-actions { display: flex; flex-wrap: wrap; gap: .85rem; align-items: end; }
.pvp-filter-actions .pvp-name-field { flex: 1 1 220px; }
.pvp-filter-actions .pvn-button { min-height: 46px; }
.pvp-reset { cursor: pointer; color: #dbc18f; padding: .75rem; min-height: 44px; font: inherit; font-size: .79rem; background: transparent; border: 1px solid #8d734736; border-radius: 3px; text-decoration: underline; text-underline-offset: .25rem; }
.pvp-active-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin: .75rem 0; }
.pvp-filter-chip { display: inline-flex; align-items: center; min-height: 40px; border: 1px solid #aa874858; border-radius: 4px; background: #a8823319; color: #e5d2ad; padding: .5rem .8rem; font-size: .77rem; cursor: pointer; }
.pvp-result-count { color: #d5c6aa; font-size: .9rem; margin: 1.5rem 0; }
.pvp-results-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 1.5rem; margin: 0 auto; }
.pvp-results-grid[data-visible="1"],.pvp-results-grid[data-visible="2"] { max-width: 840px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.pvp-results-grid .pvn-profile-card[hidden] { display: none !important; }
.pvp-results-grid .pvn-profile-photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.pvp-results-grid .pvn-profile-photo[href*="/isabella"] img { object-position: right top; }
.pvp-no-results { border: 1px solid #9b784a5c; border-radius: 5px; background: #0b0906; padding: 2rem; text-align: center; }
.pvp-no-results[hidden] { display: none !important; }
.pvp-no-results h3 { font: 400 1.7rem/1.3 Georgia,serif; color: #ead7b1; }
.pvp-no-results p { color: #c9bba3; line-height: 1.75; font-size: .88rem; }
.pvp-loading { width: 100%; margin: .8rem 0 0; font-size: .8rem; color: #c4b38d; }
.pvp-service-models { margin: 1.4rem 0; }
.pvp-model-filters :is(input,select,button,summary):focus-visible,.pvp-filter-chip:focus-visible { outline: 2px solid #e4c080; outline-offset: 3px; }
@media(max-width:700px) {
  .pvp-model-filters { padding: 1rem; }
  .pvp-filter-primary,.pvp-filter-secondary { grid-template-columns: 1fr; gap: .85rem; }
  .pvp-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .pvp-filter-actions .pvp-name-field { grid-column: 1/-1; }
  .pvp-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
  .pvp-results-grid .pvn-profile-summary { padding: .85rem; }
  .pvp-results-grid .pvn-profile-summary h3 { font-size: 1.45rem; }
  .pvp-no-results { padding: 1.5rem; }
}
@media(max-width:370px) {
  .pvp-results-grid,.pvp-results-grid[data-visible="1"],.pvp-results-grid[data-visible="2"] { grid-template-columns: 1fr; }
}

/* Profile information links: shared PecadosVIP button style in every language. */
.pvn-site .pvn-profile-information a.pvn-profile-information-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: fit-content;
  max-width: 100%;
  min-height: 52px;
  margin-top: 1.25rem;
  padding: .95rem 1.4rem;
  border: 1px solid #a27f43;
  border-radius: 4px;
  background: linear-gradient(135deg, #1b1710, #0c0b09);
  color: #e8c474;
  box-shadow: inset 0 1px 0 #f5d6940d;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .065em;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pvn-site .pvn-profile-information a.pvn-profile-information-button:visited { color: #e8c474; }
.pvn-site .pvn-profile-information a.pvn-profile-information-button::after {
  content: '';
  display: block;
  flex: 0 0 .45rem;
  width: .45rem;
  height: .45rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.pvn-site .pvn-profile-information a.pvn-profile-information-button:hover {
  border-color: #e8c474;
  background: #e8c474;
  color: #14110c;
  box-shadow: 0 4px 18px #cda75e1a;
}
.pvn-site .pvn-profile-information a.pvn-profile-information-button:focus-visible {
  outline: 2px solid #f5e4b8;
  outline-offset: 4px;
}
.pvn-site .pvn-profile-information a.pvn-profile-information-button:active {
  background: #d4ac61;
  color: #14110c;
  border-color: #d4ac61;
  box-shadow: none;
}
@media (max-width: 600px) {
  .pvn-site .pvn-profile-information a.pvn-profile-information-button {
    width: 100%;
    padding: .9rem 1.1rem;
    gap: 1rem;
    font-size: .74rem;
    letter-spacing: .045em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pvn-site .pvn-profile-information a.pvn-profile-information-button { transition: none; }
}

/* Keep service cards dark when their links are hovered or focused. */
.pvn-site .pvn-service-card:hover,
.pvn-site .pvn-service-card:focus-within {
  background: #080706f0;
  border-color: #be995e;
}

/* Four service cards per desktop row, regardless of screen width. */
@media (min-width: 1024px) {
  .pvn-site .pvn-service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Availability and languages share a separate row; brand sizing is unchanged. */
.pvn-site .pvp-header-tools {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem 2.5rem;
  padding: .6rem 4%;
  border-top: 1px solid var(--pvn-line);
  background: #050505;
}
.pvn-site .pvp-header-tools .pvn-languages {
  border: 0;
  gap: clamp(.7rem, 2vw, 2rem);
  flex-wrap: wrap;
}
.pvn-site a.pvp-available-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 44px;
  padding: .6rem 1.1rem;
  border: 1px solid #a27f43;
  border-radius: 999px;
  background: linear-gradient(135deg, #211b10, #100e09);
  color: #e8c474;
  font: 600 .72rem/1.4 Arial, sans-serif;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.pvn-site a.pvp-available-button::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #9c927c;
}
.pvn-site a.pvp-available-button[data-available="yes"]::before {
  background: #acd787;
  box-shadow: 0 0 0 3px #acd78718;
}
.pvn-site a.pvp-available-button:hover {
  background: #e8c474;
  border-color: #e8c474;
  color: #14110c;
}
.pvn-site a.pvp-available-button:focus-visible {
  outline: 2px solid #f5dfa8;
  outline-offset: 4px;
}
@media (max-width: 550px) {
  .pvn-site .pvp-header-tools { gap: .35rem; padding: .65rem 4% .35rem; }
  .pvn-site .pvp-header-tools .pvn-languages { width: 100%; justify-content: center; gap: 4%; }
}
@media (prefers-reduced-motion: reduce) {
  .pvn-site a.pvp-available-button { transition: none; }
}

/* Balanced incomplete rows. Hidden filter results do not reserve grid cells. */
@media (min-width: 1024px) {
  .pvn-site .pvn-service-grid:has(> .pvn-service-item) { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .pvn-site .pvn-service-grid > .pvn-service-item { grid-column: span 3; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(1 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 1 of .pvn-service-item:not([hidden])) { grid-column: span 12; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(1 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 1 of .pvn-service-item:not([hidden])) > .pvn-service-card {
    display: grid;
    grid-template-columns: minmax(0, 34%) minmax(0, 66%);
    align-items: stretch;
  }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(1 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 1 of .pvn-service-item:not([hidden])) .pvn-service-photo { min-width: 0; height: 100%; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(1 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 1 of .pvn-service-item:not([hidden])) .pvn-service-photo > a { display: block; height: 100%; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(1 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 1 of .pvn-service-item:not([hidden])) .pvn-service-photo img { height: 100%; object-fit: cover; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(2 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 2 of .pvn-service-item:not([hidden])) { grid-column: span 6; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(2 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 2 of .pvn-service-item:not([hidden])) > .pvn-service-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(2 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 2 of .pvn-service-item:not([hidden])) .pvn-service-photo { min-width: 0; height: 100%; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(2 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 2 of .pvn-service-item:not([hidden])) .pvn-service-photo > a { display: block; height: 100%; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(2 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 2 of .pvn-service-item:not([hidden])) .pvn-service-photo img { height: 100%; object-fit: cover; }
  .pvn-site .pvn-service-grid:has(> .pvn-service-item:nth-child(4n + 1 of .pvn-service-item:not([hidden])):nth-last-child(3 of .pvn-service-item:not([hidden]))) > .pvn-service-item:nth-last-child(-n + 3 of .pvn-service-item:not([hidden])) { grid-column: span 4; }
}
/* A single model uses one complete result row, including on small screens. */
.pvn-site .pvp-results-grid[data-visible="1"] {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1120px;
}
.pvn-site .pvp-results-grid[data-visible="0"] { display: none; }
@media (min-width: 701px) {
  .pvn-site .pvp-results-grid[data-visible="1"] > .pvn-profile-card:not([hidden]) {
    display: grid;
    grid-template-columns: minmax(220px, 40%) minmax(0, 1fr);
    align-items: stretch;
  }
  .pvn-site .pvp-results-grid[data-visible="1"] .pvn-profile-photo { min-width: 0; height: 100%; }
  .pvn-site .pvp-results-grid[data-visible="1"] .pvn-profile-photo img { height: 100%; object-fit: cover; }
  .pvn-site .pvp-results-grid[data-visible="1"] .pvn-profile-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 3rem);
  }
  .pvn-site .pvp-results-grid[data-visible="1"] .pvn-card-link { margin-top: 1.25rem; }
}


/* Contact window: black, gold and silver; no changes to the site logo. */
.pvn-reserve-btn[hidden] { display: none !important; }
.pvp-site-contact {
  position: fixed;
  z-index: 25;
  right: max(20px, env(safe-area-inset-right, 0px));
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  box-sizing: border-box;
  min-height: 52px;
  max-width: calc(100vw - 40px);
  padding: .85rem 1.2rem;
  border: 1px solid #c3a260;
  border-radius: 999px;
  background: linear-gradient(120deg, #282013, #0e0d0a);
  color: #f1dca5;
  box-shadow: 0 8px 26px #0008;
  font: 600 16px/1.4 Arial, sans-serif;
  cursor: pointer;
  text-align: center;
}
.pvp-site-contact:hover { background: #e8c474; color: #14110c; }
.pvp-site-contact:focus-visible { outline: 2px solid #fff3ce; outline-offset: 4px; }
.pvp-site-contact > .pvp-contact-icon { width: 24px; height: 24px; flex-shrink: 0; }
@media (max-width: 760px) {
  .pvp-site-contact { right: max(14px, env(safe-area-inset-right, 0px)); bottom: calc(84px + env(safe-area-inset-bottom, 0px)); max-width: calc(100vw - 28px); }
}
.pvn-site .pvn-reserve-btn {
  background: #211b10 !important;
  color: #e8c474 !important;
  border: 1px solid #a27f43 !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 24px #0006 !important;
  font: 600 .9rem/1.4 Arial, sans-serif !important;
  max-width: calc(100vw - 40px);
  min-height: 48px;
  padding: .85rem 1.2rem !important;
}
.pvn-site .pvn-reserve-btn:hover { background: #e8c474 !important; color: #14110c !important; }
.pvn-site .pvn-reserve-btn:focus-visible { outline: 2px solid #f5dfa8; outline-offset: 4px; }
.pvp-contact-dialog {
  box-sizing: border-box;
  width: min(480px, calc(100% - 24px));
  max-width: none;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: auto;
  padding: 1.1rem 1.5rem 1.5rem;
  border: 1px solid #a27f43;
  border-radius: 16px;
  background: linear-gradient(155deg, #181510, #0d0c0a 65%);
  color: #f1e9da;
  box-shadow: 0 24px 80px #000a;
  font: 400 16px/1.5 Arial, sans-serif;
  text-align: center;
  color-scheme: dark;
}
.pvp-contact-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.pvp-contact-dialog .pvp-contact-topbar { display: flex; justify-content: flex-end; margin-bottom: 1.2rem; }
.pvp-contact-dialog .pvp-contact-close {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-width: 44px;
  min-height: 44px;
  padding: .55rem .8rem;
  border: 1px solid #77746f;
  border-radius: 6px;
  background: #171613;
  color: #ede8de;
  font: 600 14px/1.3 Arial, sans-serif;
  cursor: pointer;
}
.pvp-contact-dialog .pvp-contact-close:hover { background: #302b22; border-color: #d4bb82; }
.pvp-contact-dialog .pvp-contact-cross { font-size: 25px; line-height: 1; }
.pvp-contact-dialog h2.pvp-contact-number { margin: 0 0 .5rem; color: #f1dfb6; font: 700 clamp(25px, 5vw, 34px)/1.2 Arial, sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.pvp-contact-dialog .pvp-contact-lead { margin: 0; color: #ded8cd; font-size: 1.05rem; }
.pvp-contact-dialog .pvp-contact-rule { height: 1px; border: 0; background: linear-gradient(90deg, transparent, #b79a58, transparent); margin: 1.45rem 0 1rem; }
.pvp-contact-dialog .pvp-contact-area { display: flex; flex-direction: column; gap: .5rem; color: #ead7b1; text-align: left; font-size: .9rem; }
.pvp-contact-dialog select { box-sizing: border-box; width: 100%; min-height: 48px; background: #19150e; color: #f1e9da; border: 1px solid #907342; border-radius: 5px; padding: .65rem .8rem; font: inherit; font-size: 16px; }
.pvp-contact-dialog .pvp-contact-status { margin: 0 0 1rem; color: #c9beac; font-size: .85rem; }
.pvp-contact-dialog .pvp-contact-area + .pvp-contact-status { margin-top: .75rem; }
.pvp-contact-dialog .pvp-contact-options { display: grid; gap: .75rem; }
.pvp-contact-dialog a.pvp-contact-option {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  align-items: center;
  gap: .6rem;
  box-sizing: border-box;
  min-height: 56px;
  padding: .85rem 1rem;
  border: 1px solid #a78a4a;
  border-radius: 7px;
  background: #1c1912;
  color: #f1dca5;
  font: 600 16px/1.35 Arial, sans-serif;
  text-decoration: none;
  text-align: center;
  overflow-wrap: anywhere;
  transition: background-color .15s ease, border-color .15s ease;
}
.pvp-contact-dialog a.pvp-contact-phone { background: linear-gradient(115deg, #ead496, #c4a159); color: #18130b; border-color: #e6cc8c; }
.pvp-contact-dialog a.pvp-contact-telegram { background: linear-gradient(115deg, #eeeae4, #bcbcb9); color: #161616; border-color: #e3e1dc; }
.pvp-contact-dialog a.pvp-contact-option:hover { background: #342c1c; color: #fff1ce; border-color: #efdcad; }
.pvp-contact-dialog a.pvp-contact-phone:hover { background: #f1dda8; color: #18130b; }
.pvp-contact-dialog a.pvp-contact-telegram:hover { background: #f6f3ee; color: #161616; }
.pvp-contact-dialog .pvp-contact-icon { display: block; width: 24px; height: 24px; flex-shrink: 0; }
.pvp-contact-dialog .pvp-contact-note { margin: 1.15rem 0 0; color: #b9b0a0; font-size: .8rem; }
.pvp-contact-dialog :is(button,select,a):focus-visible { outline: 2px solid #fff3ce; outline-offset: 3px; }
@media (max-width: 520px) {
  .pvp-contact-dialog { padding: .8rem 1rem 1.2rem; }
  .pvp-contact-dialog .pvp-contact-lead { font-size: .98rem; }
  .pvp-contact-dialog a.pvp-contact-option { padding-inline: .75rem; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .pvp-contact-dialog a.pvp-contact-option { transition: none; } }


/* Footer directory: compact groups, readable links and a shared bottom row. */
.pv-editorial-refresh .pvn-footer.pv-footer-organised {
  padding: 2.5rem 4% 1.4rem;
  background: linear-gradient(180deg, #090806e8, #050504f2);
  border-top: 1px solid #a180414d;
}
.pv-editorial-refresh .pvn-footer.pv-footer-organised .pv-footer-directory {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2.5rem);
  text-align: left;
}
.pv-footer-organised .pv-footer-group {
  display: block;
  min-width: 0;
  grid-column: auto;
  padding: 1.2rem 0 .7rem;
  border-top: 1px solid #b8944e70;
}
.pv-footer-organised .pv-footer-group h2 {
  margin: 0 0 .8rem;
  color: #e4cfaa;
  font: 400 1.15rem/1.35 Georgia, serif;
  overflow-wrap: anywhere;
}
.pv-footer-organised .pv-footer-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pv-footer-organised .pv-footer-links li { margin: 0; padding: 0; min-width: 0; }
.pv-editorial-refresh .pv-footer-organised .pv-footer-links a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding: .4rem 0;
  color: #c9c0af;
  font-size: .8rem;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.pv-editorial-refresh .pv-footer-organised a:hover,
.pv-editorial-refresh .pv-footer-organised a[aria-current="page"] {
  color: #edcc80;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: .25em;
}
.pv-footer-organised a:focus-visible { outline: 2px solid #edcc80; outline-offset: 4px; border-radius: 2px; }
.pv-footer-organised .pv-footer-meta {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin: 1.1rem auto 0;
  padding-top: 1rem;
  border-top: 1px solid #a180413d;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  text-align: left;
}
.pv-footer-organised .pv-footer-meta > p { margin: 0; font-size: .8rem; }
.pv-footer-organised .pv-footer-meta > .pvn-muted:empty { display: none; }
.pv-editorial-refresh .pv-footer-organised .pv-footer-top {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 44px;
  padding: .55rem .85rem;
  border: 1px solid #a1804159;
  border-radius: 5px;
  color: #dfbd6b;
  font-size: .75rem;
  line-height: 1.4;
  text-decoration: none;
}
@media (max-width: 760px) {
  .pv-editorial-refresh .pvn-footer.pv-footer-organised { padding-bottom: 105px; }
  .pv-editorial-refresh .pvn-footer.pv-footer-organised .pv-footer-directory { grid-template-columns: 1fr 1fr; gap: .8rem 1.5rem; }
  .pv-footer-organised .pv-footer-group:last-child { grid-column: 1 / -1; }
  .pv-footer-organised .pv-footer-group:last-child .pv-footer-links { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
}
@media (max-width: 520px) {
  .pv-editorial-refresh .pvn-footer.pv-footer-organised { padding-top: 1.5rem; }
  .pv-editorial-refresh .pvn-footer.pv-footer-organised .pv-footer-directory { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
  .pv-footer-organised .pv-footer-group:last-child { grid-column: auto; }
  .pv-footer-organised .pv-footer-group { padding: 1rem 0 .6rem; }
  .pv-footer-organised .pv-footer-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 1rem; }
  .pv-footer-organised .pv-footer-group h2 { font-size: 1.05rem; }
}


/* Prominent city choices: Madrid in gold and Barcelona in silver. */
.pvn-site .pvn-home-refresh .pvn-hero-actions:has(> a[href$="/barcelona"]) {
  max-width: 760px;
  gap: 1rem;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button:is([href$="/madrid"], [href$="/barcelona"]) {
  flex: 1 1 280px;
  width: 100%;
  min-width: 0;
  max-width: 360px;
  min-height: 88px;
  padding: 1.2rem 1.4rem;
  justify-content: center;
  gap: .85rem;
  border-radius: 5px;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .025em;
  text-align: center;
  text-decoration: none;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button:is([href$="/madrid"], [href$="/barcelona"]) > span {
  flex: 0 0 auto;
  font-size: .75em;
  line-height: 1;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button[href$="/barcelona"] {
  background: linear-gradient(125deg, #f7f8fa, #acb2bb 42%, #e3e6eb 68%, #b8bec7);
  border-color: #ccd1d9;
  color: #171a20;
  box-shadow: inset 0 1px 0 #ffffff, 0 5px 25px #b7c3d51a;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button[href$="/barcelona"]:hover {
  background: linear-gradient(125deg, #ffffff, #c3c8cf 42%, #f0f2f5 68%, #d0d5dd);
  border-color: #f5f6f8;
  color: #171a20;
  filter: none;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button:is([href$="/madrid"], [href$="/barcelona"]):focus-visible {
  outline: 3px solid #f1e5c8;
  outline-offset: 5px;
}
.pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button[href$="/barcelona"]:focus-visible {
  outline-color: #e1e6ee;
}
@media (max-width: 700px) {
  .pvn-site .pvn-home-refresh .pvn-hero-actions:has(> a[href$="/barcelona"]) {
    flex-direction: column;
    max-width: 440px;
    gap: .8rem;
  }
  .pvn-site .pvn-home-refresh .pvn-hero-actions > a.pvn-button:is([href$="/madrid"], [href$="/barcelona"]) {
    flex: 0 0 auto;
    max-width: none;
    min-height: 78px;
    padding: 1.1rem 1rem;
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    gap: .7rem;
  }
}
