/* Premium cards use the available content width, not the browser viewport. */
.prp-selection, .prp-account, .prp-catalog {
	--prp-ink: #292623; --prp-muted: #6d6158; --prp-accent: #8d3d2e;
	--prp-gold: #b67d32; --prp-border: #e6d3b9; --prp-paper: #fffdf9;
	color: var(--prp-ink); max-width: 100%;
}
.prp-selection *, .prp-account *, .prp-catalog * { box-sizing: border-box; }
.prp-selection {
	--prp-ink: #172032; --prp-muted: #596477;
	container: prp-selection / inline-size;
	position: relative; width: 100%; margin: 0 0 30px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.prp-selection__header { padding: 0 0 22px; }
.prp-selection__eyebrow { margin: 0 0 6px; color: #93611f; font-size: .65rem; font-weight: 800; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.prp-selection__header h2 { margin: 0 0 8px; color: #162032; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.2; text-wrap: balance; }
.prp-selection__intro { max-width: 76ch; margin: 0; color: var(--prp-muted); font-size: .83rem; line-height: 1.6; }
.prp-ranking { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.prp-ranking .prp-ranking__item {
	--prp-metal: #636d7b; --prp-metal-dark: #46505f; --prp-metal-light: #edf0f4;
	--prp-metal-border: #cbd1d9; --prp-metal-rgb: 103, 115, 132;
	position: relative; display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	grid-template-areas: "topbar topbar" "photo identity" "description description" "address address" "links links" "map map" "footer footer";
	align-items: start; gap: 6px 10px; min-width: 0;
	margin: 0; padding: 10px;
	border: 1px solid var(--prp-metal-border); border-radius: 13px;
	background: #fff; box-shadow: 0 5px 15px rgba(40, 33, 26, .07); list-style: none;
}
.prp-ranking .prp-ranking__item--gold {
	--prp-metal: #a56a08; --prp-metal-dark: #754405; --prp-metal-light: #fff4d5;
	--prp-metal-border: #d9b365; --prp-metal-rgb: 204, 157, 44;
	border-color: #d5aa4f;
	box-shadow: 0 0 0 2px #fff5db, 0 6px 18px rgba(123, 79, 12, .1);
}
.prp-ranking .prp-ranking__item--bronze {
	--prp-metal: #ab4d28; --prp-metal-dark: #773419; --prp-metal-light: #ffede2;
	--prp-metal-border: #dba081; --prp-metal-rgb: 183, 91, 47;
}
.prp-ranking__item svg:not(.prp-map-example__art) { display: block; flex: 0 0 auto; width: 18px; height: 18px; }
.prp-ranking__topbar {
	grid-area: topbar; position: relative; display: flex; align-items: center; justify-content: space-between;
	gap: 6px; min-width: 0; min-height: 34px; margin: -10px -10px 0; padding: 6px 10px 6px 57px;
	border-radius: 12px 12px 0 0; background: linear-gradient(110deg, var(--prp-metal-light), #fff); color: var(--prp-metal-dark);
}
.prp-ranking__item--gold .prp-ranking__topbar { background: linear-gradient(108deg, #f6d98d, #fff7de 60%, #fffdf6); }
.prp-ranking__ribbon {
	position: absolute; z-index: 2; top: -5px; left: 12px;
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 1px;
	width: 36px; height: 55px; padding-top: 5px; color: #fff;
	filter: drop-shadow(0 2px 2px rgba(29, 31, 35, .18));
}
.prp-ranking__ribbon::before, .prp-ranking__ribbon::after { position: absolute; z-index: -1; inset: 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 85%, 0 100%); content: ""; }
.prp-ranking__ribbon::before { border-radius: 4px 4px 0 0; background: #fff; }
.prp-ranking__ribbon::after { inset: 1px 1px 2px; border-radius: 3px 3px 0 0; background: linear-gradient(120deg, #b4bcc6, #687384 62%, #97a1ae); }
.prp-ranking__item--gold .prp-ranking__ribbon::after { background: linear-gradient(120deg, #e9b654, #b47a14 65%, #d4a243); }
.prp-ranking__item--bronze .prp-ranking__ribbon::after { background: linear-gradient(120deg, #d59a78, #a2512f 65%, #c5825e); }
.prp-ranking__ribbon svg:not(.prp-map-example__art) { width: 17px; height: 15px; }
.prp-ranking__ribbon strong { color: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1.4rem; font-weight: 800; line-height: 1; }
.prp-ranking__ribbon .prp-icon--crown path:first-child, .prp-ranking__award .prp-icon--crown path:first-child, .prp-ranking__cta .prp-icon--crown path:first-child { fill: currentColor; }
.prp-ranking__award .prp-icon--star { fill: currentColor; }
.prp-ranking__tier { min-width: 0; color: var(--prp-metal-dark); font-size: .62rem; font-weight: 800; letter-spacing: .025em; line-height: 1.35; text-transform: uppercase; }
.prp-ranking__award { display: inline-flex; flex: 0 1 auto; align-items: center; justify-content: center; gap: 4px; max-width: 52%; padding: 4px 7px; border: 1px solid var(--prp-metal-border); border-radius: 99px; background: rgba(255, 255, 255, .72); color: var(--prp-metal-dark); font-size: .55rem; font-weight: 750; line-height: 1.25; text-align: center; text-transform: uppercase; }
.prp-ranking__award svg:not(.prp-map-example__art) { width: 12px; height: 12px; }
.prp-ranking__photo { grid-area: photo; position: relative; isolation: isolate; min-width: 0; width: 100%; height: 82px; overflow: hidden; border-radius: 8px; background: #eee5d7; }
.prp-ranking__photo > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; object-fit: cover; object-position: center; }
.prp-ranking__photo::after { position: absolute; z-index: 0; inset: 60% 0 0; background: linear-gradient(transparent, rgba(14, 20, 24, .3)); content: ""; pointer-events: none; }
.prp-ranking__example-label { position: absolute; z-index: 1; right: 3px; bottom: 4px; left: 3px; padding: 2px 3px; border-radius: 3px; background: rgba(255, 255, 255, .92); color: #4d5561; font-size: .6rem; line-height: 1.3; text-align: center; }
.prp-ranking__location { display: none; }
.prp-ranking__body, .prp-ranking__content { display: contents; }
.prp-ranking__identity { grid-area: identity; display: flex; align-items: flex-start; min-width: 0; margin: 1px 0 0; }
.prp-ranking__avatar { display: none; }
.prp-ranking__heading { min-width: 0; }
.prp-selection .prp-ranking__content h3 { margin: 0 0 5px; color: #172032; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.22; overflow-wrap: anywhere; }
.prp-ranking__category { margin: 0 0 5px; color: #5b6575; font-size: .7rem; line-height: 1.45; overflow-wrap: anywhere; }
.prp-ranking__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; margin: 0 0 4px; color: #43516a; font-size: .66rem; line-height: 1.4; }
.prp-ranking__stars { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 1px; color: #b97a0d; }
.prp-ranking__star { display: inline-flex; }
.prp-ranking__star svg:not(.prp-map-example__art) { width: 11px; height: 11px; }
.prp-ranking__star--filled svg { fill: currentColor; }
.prp-ranking__review-count { color: #657184; }
.prp-ranking__badge { display: inline-flex; align-items: center; max-width: 100%; margin: 0; padding: 2px 5px; border: 1px solid var(--prp-metal-border); border-radius: 4px; background: rgba(var(--prp-metal-rgb), .045); color: var(--prp-metal-dark); font-size: .6rem; font-weight: 750; letter-spacing: .015em; line-height: 1.5; text-transform: uppercase; }
.prp-ranking__position { color: var(--prp-metal-dark); }
.prp-ranking__description { grid-area: description; margin: 0; color: #526074; font-size: .82rem; line-height: 1.5; overflow-wrap: anywhere; }
.prp-ranking__description-details { grid-area: description; min-width: 0; margin: 0; padding: 0; color: #526074; }
.prp-ranking__description-details summary { display: block; min-height: 44px; margin: 0; padding: 0; list-style: none; cursor: pointer; }
.prp-ranking__description-details summary::-webkit-details-marker, .prp-ranking__reference summary::-webkit-details-marker { display: none; }
.prp-ranking__description-preview { display: -webkit-box; overflow: hidden; font-size: .82rem; line-height: 1.5; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }
.prp-ranking__description-toggle { display: inline-block; margin-top: 2px; color: var(--prp-metal-dark); font-size: .75rem; font-weight: 750; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.prp-ranking__description-toggle--open, .prp-ranking__description-details[open] .prp-ranking__description-preview, .prp-ranking__description-details[open] .prp-ranking__description-toggle--closed { display: none; }
.prp-ranking__description-details[open] .prp-ranking__description-toggle--open { display: inline-block; }
.prp-ranking__description-details[open] .prp-ranking__description { padding-top: 4px; }
.prp-ranking__description p { margin: 0; }
.prp-ranking__description a { color: var(--prp-metal-dark); text-decoration: underline; text-underline-offset: 3px; }
.prp-ranking__address { grid-area: address; margin: 0; color: #667184; font-size: .7rem; line-height: 1.4; overflow-wrap: anywhere; }
.prp-ranking__links { grid-area: links; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; }
.prp-ranking__links a, .prp-ranking__links > span { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 44px; padding: 5px 3px; border: 1px solid #e9edf0; border-radius: 6px; background: #f8f9fa; color: #203048; font-size: .75rem; font-weight: 650; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.prp-ranking__links svg:not(.prp-map-example__art) { width: 17px; height: 17px; }
.prp-ranking__links a:hover { border-color: var(--prp-metal-border); color: var(--prp-metal-dark); text-decoration: underline; text-underline-offset: 3px; }
.prp-ranking__links > span { color: #697486; }
.prp-ranking__map { grid-area: map; display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; height: 66px; overflow: hidden; border: 1px solid #ece6dc; border-radius: 8px; background: #f4f0e6; }
.prp-ranking__map iframe { display: block; width: 100%; height: 100%; min-height: 0; margin: 0; border: 0; }
.prp-ranking__map:has(iframe) { height: 90px; }
.prp-map-example { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 0; height: 100%; overflow: hidden; background: #f1eadf; text-align: center; }
.prp-map-example::before { position: absolute; z-index: -1; top: 50%; left: 50%; width: 77px; height: 77px; border: 1px dashed var(--prp-metal); border-radius: 50%; background: rgba(var(--prp-metal-rgb), .12); transform: translate(-50%, -50%); content: ""; }
.prp-map-example__art { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.prp-map-example__zone { position: relative; padding: 3px 7px; border: 1px solid rgba(255, 255, 255, .65); border-radius: 99px; background: var(--prp-metal); color: #fff; font-size: .59rem; font-weight: 750; line-height: 1.25; }
.prp-map-example__pin { position: relative; display: flex; align-items: center; justify-content: center; width: 23px; height: 23px; margin: 1px 0 7px; border: 2px solid #fff; border-radius: 50% 50% 50% 0; background: var(--prp-metal); transform: rotate(-45deg); }
.prp-map-example__pin::after { display: block; width: 7px; height: 7px; border-radius: 50%; background: #fff; content: ""; }
.prp-map-example__pin svg:not(.prp-map-example__art) { width: 13px; height: 13px; color: #fff; transform: rotate(45deg); }
.prp-map-example__pin:has(svg)::after { display: none; }
.prp-map-example > small { position: absolute; right: 4px; bottom: 3px; left: 4px; padding: 1px 3px; border-radius: 3px; background: rgba(255, 255, 255, .92); color: #5d6571; font-size: .55rem; line-height: 1.25; }
.prp-ranking__map-note { display: none; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; min-width: 0; padding: 8px; border-left: 1px solid #e8e2d8; background: linear-gradient(120deg, #fff, rgba(var(--prp-metal-rgb), .06)); color: var(--prp-metal-dark); }
.prp-ranking__map-note svg:not(.prp-map-example__art) { width: 19px; height: 19px; }
.prp-ranking__map-note strong { display: block; color: var(--prp-metal-dark); font-size: .61rem; font-weight: 750; line-height: 1.35; }
.prp-ranking__map-note span { display: block; min-width: 0; margin-top: 1px; color: #657184; font-size: .58rem; line-height: 1.4; overflow-wrap: anywhere; }
.prp-ranking__footer { grid-area: footer; display: grid; grid-template-columns: minmax(0, 1fr) minmax(136px, 1.5fr); align-items: center; gap: 0 7px; min-width: 0; margin: 0; padding: 1px 0 0; }
.prp-ranking__price { margin: 0; color: #627083; font-size: .63rem; line-height: 1.45; }
.prp-ranking__price strong { color: var(--prp-metal-dark); font-size: .9rem; font-weight: 750; }
.prp-button, .prp-account input[type="submit"] { display: inline-flex; justify-content: center; align-items: center; min-height: 42px; max-width: 100%; padding: 11px 17px; border: 1px solid #8d3d2e; border-radius: 8px; background: #8d3d2e; color: #fff !important; font: inherit; font-size: .87rem; font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none !important; cursor: pointer; }
.prp-button:hover, .prp-account input[type="submit"]:hover { border-color: #5e2c23; background: #5e2c23; }
.prp-button--secondary { background: transparent; color: #8d3d2e !important; font-weight: 650; }
.prp-button--secondary:hover { background: #f7eadc; color: #5e2c23 !important; }
.prp-selection .prp-ranking__cta { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 44px; padding: 9px; border: 1px solid var(--prp-metal); border-radius: 7px; background: linear-gradient(105deg, #7e8999, #566172); color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35); font: 700 .8rem/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-decoration: none !important; }
.prp-ranking__cta > span { min-width: 0; }
.prp-selection .prp-ranking__item--gold .prp-ranking__cta { border-color: #a97315; background: linear-gradient(105deg, #bc8620, #946109); }
.prp-selection .prp-ranking__item--bronze .prp-ranking__cta { border-color: #a55432; background: linear-gradient(105deg, #ba6a44, #924625); }
.prp-selection .prp-ranking__cta:hover { filter: brightness(1.08); }
.prp-ranking__cta svg:not(.prp-map-example__art) { width: 19px; height: 19px; }
.prp-ranking__cta > svg:first-child { display: none; }
.prp-ranking__cta svg:last-child { width: 17px; height: 17px; }
.prp-ranking__availability { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; margin: 0; padding: 6px 9px; border: 1px solid var(--prp-metal-border); border-radius: 6px; background: rgba(var(--prp-metal-rgb), .035); color: var(--prp-metal-dark); font-size: .68rem; font-weight: 650; line-height: 1.4; text-align: center; }
.prp-ranking__reference { grid-column: 1 / -1; display: block; min-width: 0; margin: 0; color: #687486; font-size: .59rem; line-height: 1.4; overflow-wrap: anywhere; }
.prp-ranking__reference summary { display: flex; align-items: center; min-height: 44px; margin: 0; padding: 0; color: #687486; font-size: .59rem; line-height: 1.4; list-style: none; cursor: pointer; }
.prp-ranking__reference summary::after { margin-left: 5px; font-size: .7rem; content: "+"; }
.prp-ranking__reference[open] summary::after { content: "−"; }
.prp-ranking__reference > span { display: block; padding: 0 0 5px; color: #526074; font-size: .67rem; line-height: 1.5; }
.prp-ranking__footer > .prp-ranking__availability { grid-column: 1 / -1; }
.prp-ranking__footer > .prp-ranking__availability:has(+ .prp-ranking__cta) { grid-column: 1; min-height: 44px; padding: 0; border: 0; background: transparent; font-size: .6rem; font-weight: 500; text-align: left; }
.prp-ranking__reference span, .prp-reference { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.prp-selection a:focus-visible, .prp-account a:focus-visible, .prp-account button:focus-visible, .prp-account input:focus-visible, .prp-account select:focus-visible, .prp-account textarea:focus-visible, .prp-account summary:focus-visible { outline: 3px solid #9c4634; outline-offset: 3px; }
.prp-selection summary:focus-visible { outline: 3px solid #9c4634; outline-offset: 2px; border-radius: 3px; }
.prp-account a:not(.prp-button) { color: var(--prp-accent); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.prp-account__header h2 { margin: 0 0 9px; color: #342a22; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -.025em; }
@container prp-selection (min-width: 420px) {
	.prp-ranking .prp-ranking__item { grid-template-columns: 112px minmax(0, 1fr); padding: 14px; gap: 10px 14px; }
	.prp-ranking__topbar { margin: -14px -14px 0; }
	.prp-ranking__photo { height: 105px; }
	.prp-selection .prp-ranking__content h3 { font-size: 1.25rem; }
	.prp-ranking__map { height: 78px; }
}
@container prp-selection (min-width: 600px) {
	.prp-ranking .prp-ranking__item {
		grid-template-columns: minmax(120px, 21%) minmax(0, 1fr) minmax(130px, 22%);
		grid-template-areas: "topbar topbar topbar" "photo content map" "photo footer map";
		align-items: stretch; gap: 0; padding: 0;
	}
	.prp-ranking__topbar { min-height: 36px; margin: 0; padding: 7px 13px 7px 60px; }
	.prp-ranking__tier { font-size: .66rem; }
	.prp-ranking__award { font-size: .59rem; padding: 4px 8px; }
	.prp-ranking__photo { width: auto; height: auto; min-height: 198px; margin: 11px 0 11px 11px; border-radius: 8px; }
	.prp-ranking__example-label { font-size: .6rem; }
	.prp-ranking__content { grid-area: content; display: flex; flex-direction: column; min-width: 0; gap: 8px; padding: 13px 13px 6px; }
	.prp-ranking__identity { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
	.prp-ranking__avatar { display: none; }
	.prp-selection .prp-ranking__content h3 { font-size: 1.12rem; }
	.prp-ranking__category { font-size: .68rem; }
	.prp-ranking__description { font-size: .82rem; }
	.prp-ranking__description-details summary { min-height: 24px; }
	.prp-ranking__description-details[open] summary { min-height: 24px; }
	.prp-ranking__address { font-size: .65rem; }
	.prp-ranking__links { display: flex; flex-wrap: wrap; gap: 3px 8px; margin: auto 0 0; }
	.prp-ranking__links a, .prp-ranking__links > span { justify-content: flex-start; gap: 4px; min-height: 32px; padding: 3px 0; border: 0; border-radius: 0; background: transparent; font-size: .63rem; }
	.prp-ranking__links svg:not(.prp-map-example__art) { width: 15px; height: 15px; }
	.prp-ranking__map, .prp-ranking__map:has(iframe) { display: flex; flex-direction: column; height: auto; min-height: 198px; margin: 11px 11px 11px 0; }
	.prp-ranking__map iframe { flex: 1 1 auto; height: 140px; min-height: 135px; }
	.prp-map-example { flex: 1 1 auto; min-height: 130px; }
	.prp-map-example::before { width: 102px; height: 102px; }
	.prp-map-example__zone { padding: 4px 8px; font-size: .64rem; }
	.prp-map-example__pin { width: 28px; height: 28px; margin-bottom: 11px; }
	.prp-map-example__pin svg:not(.prp-map-example__art) { width: 17px; height: 17px; }
	.prp-map-example > small { font-size: .48rem; }
	.prp-ranking__map-note { display: flex; flex: 0 0 auto; flex-direction: row; justify-content: flex-start; gap: 5px; min-height: 57px; padding: 7px; border-top: 1px solid #e8e2d8; border-left: 0; }
	.prp-ranking__map-note svg:not(.prp-map-example__art) { width: 18px; height: 18px; }
	.prp-ranking__map-note strong { font-size: .58rem; }
	.prp-ranking__map-note span { font-size: .55rem; }
	.prp-ranking__footer { display: flex; flex-wrap: wrap; align-content: flex-end; align-items: center; gap: 5px 8px; padding: 0 13px 12px; }
	.prp-ranking__price { flex: 1 1 125px; font-size: .63rem; }
	.prp-ranking__price strong { font-size: .82rem; }
	.prp-selection .prp-ranking__cta { flex: 1 1 156px; width: auto; min-height: 36px; padding: 7px 9px; font-size: .76rem; }
	.prp-ranking__cta > svg:first-child { display: block; }
	.prp-ranking__availability { flex: 1 1 100%; min-height: 29px; padding: 5px 7px; font-size: .64rem; }
	.prp-ranking__reference { flex: 1 1 100%; font-size: .57rem; }
	.prp-ranking__reference summary { min-height: 24px; font-size: .57rem; }
	.prp-ranking__footer > .prp-ranking__availability:has(+ .prp-ranking__cta) { flex: 1 1 110px; min-height: 24px; font-size: .62rem; }
}
@container prp-selection (max-width: 599px) {
	.prp-ranking .prp-ranking__item:not(:has(.prp-ranking__address)) { grid-template-areas: "topbar topbar" "photo identity" "description description" "links links" "map map" "footer footer"; }
}
@container prp-selection (min-width: 900px) {
	.prp-ranking .prp-ranking__item { grid-template-columns: minmax(190px, 25%) minmax(0, 1fr) minmax(170px, 21%); }
	.prp-ranking__topbar { min-height: 37px; padding-left: 63px; }
	.prp-ranking__ribbon { width: 39px; height: 59px; }
	.prp-ranking__ribbon strong { font-size: 1.5rem; }
	.prp-ranking__tier { font-size: .7rem; }
	.prp-ranking__award { font-size: .61rem; }
	.prp-ranking__photo { min-height: 184px; }
	.prp-ranking__location { position: absolute; z-index: 1; right: 7px; bottom: 8px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border: 1px solid rgba(255, 255, 255, .65); border-radius: 99px; background: rgba(32, 33, 36, .76); color: #fff; font-size: .61rem; font-weight: 650; line-height: 1.2; }
	.prp-ranking__location svg:not(.prp-map-example__art) { width: 13px; height: 13px; }
	.prp-ranking__example-label { right: auto; left: 7px; bottom: 9px; max-width: calc(100% - 111px); padding: 3px 5px; font-size: .6rem; }
	.prp-ranking__content { gap: 9px; padding: 14px 17px 5px; }
	.prp-ranking__identity { gap: 9px; }
	.prp-ranking__avatar { display: flex; flex: 0 0 42px; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 3px; border: 2px solid #fff; border-radius: 50%; outline: 1px solid var(--prp-metal-border); background: linear-gradient(135deg, var(--prp-metal-dark), #29323c); color: #fff; font: 700 .82rem/1 Georgia, "Times New Roman", serif; text-align: center; }
	.prp-ranking__avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
	.prp-ranking__avatar svg:not(.prp-map-example__art) { width: 22px; height: 22px; }
	.prp-selection .prp-ranking__content h3 { font-size: 1.25rem; }
	.prp-ranking__category { font-size: .74rem; }
	.prp-ranking__description { font-size: .82rem; }
	.prp-ranking__address { font-size: .69rem; }
	.prp-ranking__links { gap: 5px 14px; }
	.prp-ranking__links a, .prp-ranking__links > span { font-size: .69rem; }
	.prp-ranking__links svg:not(.prp-map-example__art) { width: 17px; height: 17px; }
	.prp-ranking__map { min-height: 184px; }
	.prp-ranking__map iframe, .prp-map-example { min-height: 126px; }
	.prp-ranking__map-note { min-height: 52px; }
	.prp-ranking__map-note strong { font-size: .63rem; }
	.prp-ranking__map-note span { font-size: .59rem; }
	.prp-ranking__footer { padding: 0 17px 12px; }
	.prp-ranking__price { font-size: .68rem; }
	.prp-selection .prp-ranking__cta { flex: 0 1 210px; min-height: 37px; font-size: .79rem; }
	.prp-ranking__reference { font-size: .54rem; }
}
@container prp-selection (min-width: 1200px) {
	.prp-ranking .prp-ranking__item { grid-template-columns: 260px minmax(0, 1fr) 215px; }
	.prp-ranking__description { max-width: 78ch; }
	.prp-ranking__price { flex-grow: 0; flex-basis: auto; }
	.prp-selection .prp-ranking__cta { margin-left: auto; }
	.prp-ranking__photo { min-height: 192px; }
	.prp-ranking__map { min-height: 192px; }
}

.prp-account { display: block; flex: 1 1 100%; align-self: stretch; justify-self: stretch; min-width: 0; width: 100%; margin: 24px 0; line-height: 1.6; }
/* The emergency template and the native portal choose their page width before
   any theme float/flex wrapper computes a shrink-to-fit content width. */
.prp-account-page { display: block; flex: 1 1 auto; float: none; min-width: 0; width: min(1100px, calc(100% - 40px)); max-width: 1100px; margin: 24px auto; box-sizing: border-box; }
.prp-account-page > .prp-account { width: 100%; max-width: none; margin: 0; }
.prp-account.prp-account-portal { display: block; float: none; flex: 1 1 auto; width: 100%; max-width: 1100px; min-width: 0; margin-inline: auto; }
/* Alignwide is a page-level breakout; nested portals respect their column. */
body.prp-gutenberg-page .entry-content > .prp-account-portal:is(.alignwide, .alignfull),
body.prp-gutenberg-page .wp-block-post-content > .prp-account-portal:is(.alignwide, .alignfull) {
 --prp-portal-width: min(1100px, calc(100vw - 48px));
 width: var(--prp-portal-width);
 max-width: none;
 margin-inline: calc((100% - var(--prp-portal-width)) / 2) !important;
}
.prp-account-portal .prp-account__body > .prp-block-section { min-width: 0; width: 100%; max-width: none; }
.prp-account-part { display: block; min-width: 0; width: 100%; }
.prp-account-part:empty { display: none; }
.prp-account__body > .prp-account-part + .prp-account-part { margin-top: 28px; }
.prp-account-part .prp-account__section { margin-top: 0; }
.prp-account-part__title { margin: 0 0 15px; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; line-height: 1.3; }
.prp-section-header--actions-only { justify-content: flex-end; }
.prp-block-section { margin-top: 26px; scroll-margin-top: 20px; }
.prp-block-section > h2, .prp-block-section > h3 { margin: 0 0 15px; color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.3; }
body.prp-gutenberg-guest .prp-block-section:is(.prp-block-section--summary, .prp-block-section--companies, .prp-block-section--bookings, .prp-block-section--invoices),
body.prp-gutenberg-member .prp-block-section--authentication { display: none; }
.prp-account__header { margin-bottom: 22px; }
.prp-account__header > p:last-child { margin: 0; color: var(--prp-muted); }
.prp-account__columns, .prp-form__grid, .prp-bookings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.prp-panel { min-width: 0; padding: 23px; border: 1px solid var(--prp-border); border-radius: 14px; background: var(--prp-paper); overflow-wrap: anywhere; }
.prp-panel h3, .prp-account__section > h3 { margin: 0 0 15px; color: #342a22; font-size: 1.25rem; }
.prp-panel h4 { margin: 0 0 12px; color: #342a22; font-size: 1.05rem; }
.prp-panel p { margin-top: 0; }
.prp-account__section { margin-top: 30px; }
.prp-account__session { margin: 0 0 20px; }
.prp-reservation { margin-bottom: 28px; border-left: 4px solid var(--prp-gold); }
.prp-notice { padding: 13px 17px; border: 1px solid #d9c59e; border-left: 4px solid var(--prp-gold); border-radius: 5px; background: #fff5df; color: #513c20; }
.prp-form p, .prp-account .login-username, .prp-account .login-password { margin: 0 0 17px; }
.prp-form label, .prp-account .login-username label, .prp-account .login-password label { display: block; margin: 0 0 6px; font-size: .9rem; font-weight: 650; }
.prp-form input:not([type="hidden"]), .prp-form select, .prp-form textarea, .prp-account input[type="text"], .prp-account input[type="password"] { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 43px; margin: 0; padding: 9px 11px; border: 1px solid #c8b9a8; border-radius: 6px; background: #fff; color: var(--prp-ink); font: inherit; font-size: .95rem; }
.prp-form textarea { min-height: 110px; resize: vertical; }
.prp-form input[type="file"] { padding: 7px; font-size: .85rem; }
.prp-company-photo { display: block; max-width: 100%; width: 240px; height: 160px; margin: 0 0 16px; border: 1px solid var(--prp-border); border-radius: 8px; object-fit: cover; }
.prp-form__advanced { margin: 0 0 17px; color: var(--prp-muted); }
.prp-form__advanced summary { margin: 0 0 12px; color: var(--prp-accent); font-size: .9rem; cursor: pointer; }
.prp-cancel-form { margin-top: 13px; }
.prp-cancel-form small { display: block; margin-top: 5px; color: var(--prp-muted); font-size: .78rem; }
.prp-form small, .prp-companies small { display: block; margin-top: 6px; color: var(--prp-muted); font-size: .8rem; line-height: 1.5; }
.prp-form__grid { gap: 0 20px; }
.prp-companies { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.prp-companies li { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 14px 17px; border: 1px solid var(--prp-border); border-radius: 8px; background: var(--prp-paper); overflow-wrap: anywhere; }
.prp-companies li > div { min-width: 0; }
.prp-companies small { margin-top: 2px; }
.prp-booking .prp-reference { color: var(--prp-muted); font-size: .77rem; }
.prp-booking p { margin-bottom: 10px; }
.prp-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); }
.prp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); white-space: nowrap !important; border: 0 !important; }


/* The customer account layout keeps its established form styles. */
.prp-account { --prp-ink: #292623; --prp-muted: #6d6158; }
.prp-account .prp-selection__eyebrow { margin: 0 0 7px; color: #8d3d2e; font-size: .72rem; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; }

/* Customer workspace: calm surfaces, clear sections and touch-friendly controls. */
.prp-account { --prp-ink: #202b3a; --prp-muted: #67717d; --prp-border: #e5d9ca; --prp-paper: #fffdf9; container-type: normal; container-name: none; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
/* Keep the heading's intrinsic width available to float/flex theme wrappers.
   Only the inner body isolates width for responsive container queries. */
.prp-account__body { display: block; float: none; min-width: 0; width: 100%; container: prp-account / inline-size; }
.prp-account [hidden] { display: none !important; }
.prp-account__header h2 { color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.65rem, 3vw, 2.1rem); letter-spacing: -.035em; }
.prp-account__header > p:last-child { max-width: 64ch; font-size: .88rem; }
.prp-account .prp-panel { border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(59, 41, 25, .035); }
.prp-account .prp-button, .prp-account input[type="submit"] { min-height: 44px; border-radius: 7px; font-size: .83rem; }
.prp-account__session { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px 15px; margin: 0 0 15px; font-size: .83rem; }
.prp-account__session p { margin: 0; }
.prp-account__session a { display: inline-flex; align-items: center; min-height: 44px; font-size: .78rem; }
.prp-dashboard { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.prp-account a.prp-dashboard__stat { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--prp-border); border-radius: 10px; background: linear-gradient(115deg, #fcf5e9, #fffdf9); color: var(--prp-ink); font-weight: 400; text-decoration: none !important; }
.prp-dashboard__stat > svg { flex: 0 0 auto; width: 24px; height: 24px; color: #9a5639; }
.prp-dashboard__stat > span { min-width: 0; }
.prp-dashboard__stat strong { display: block; color: var(--prp-ink); font-size: 1.65rem; font-weight: 750; letter-spacing: -.05em; line-height: 1.1; }
.prp-dashboard__stat span span { display: block; margin-top: 5px; color: var(--prp-muted); font-size: .72rem; line-height: 1.4; }
.prp-account__navigation { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 24px; padding: 0 0 9px; border-bottom: 1px solid var(--prp-border); }
.prp-account__navigation a { display: inline-flex; align-items: center; min-height: 44px; color: #72533e !important; font-size: .77rem; font-weight: 650; text-decoration: none !important; }
.prp-account__navigation a:hover { color: var(--prp-accent) !important; text-decoration: underline !important; text-underline-offset: 4px; }
.prp-account__section { margin-top: 26px; scroll-margin-top: 20px; }
.prp-section-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-bottom: 15px; }
.prp-section-header h3 { margin: 0; color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; letter-spacing: -.025em; line-height: 1.25; }
.prp-section-header__eyebrow { margin: 0 0 4px !important; color: #9b6946; font-size: .62rem; font-weight: 750; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.prp-section-header__count { display: grid; place-items: center; min-width: 31px; min-height: 31px; padding: 4px; border: 1px solid var(--prp-border); border-radius: 50%; background: #fcf6ec; color: #805137; font-size: .75rem; font-weight: 750; }
.prp-account-badge { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; padding: 3px 7px; border: 1px solid #e2d1b3; border-radius: 5px; background: #fcf4e6; color: #79512d; font-size: .6rem; font-weight: 700; line-height: 1.45; }
.prp-account-badge--active { border-color: #cedcd3; background: #f0f7f2; color: #41644c; }
.prp-account-badge--hold { border-color: #e4d4b1; background: #fcf5e6; color: #8b661b; }
.prp-account-badge--cancelled, .prp-account-badge--expired { border-color: #dce0e4; background: #f4f5f6; color: #67717d; }
.prp-account .prp-company-cards { gap: 9px; margin-bottom: 17px; }
.prp-account .prp-company-cards li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 12px 14px; border-radius: 10px; background: #fff; }
.prp-account .prp-company-cards li.prp-company-card--selected { border-color: #a56a4a; background: #fffaf4; box-shadow: inset 3px 0 0 #a56a4a; }
.prp-company-card__photo { display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden; border: 1px solid #e2d2bc; border-radius: 10px; background: #f5ebdd; color: #87563a; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 700; }
.prp-company-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.prp-company-card strong { display: block; margin-bottom: 5px; color: var(--prp-ink); font-size: .89rem; line-height: 1.35; overflow-wrap: anywhere; }
.prp-company-card small { display: block; color: var(--prp-muted); font-size: .72rem; }
.prp-account a.prp-company-card__edit { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 5px 2px; color: #8d5239; font-size: .76rem; }
.prp-account .prp-editor { padding: 22px; scroll-margin-top: 20px; }
.prp-editor__header { padding-bottom: 18px; border-bottom: 1px solid #eee5da; margin-bottom: 20px; }
.prp-editor__header h4 { margin-bottom: 7px; color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; line-height: 1.3; letter-spacing: -.025em; }
.prp-editor__header > p:last-child { max-width: 64ch; margin-bottom: 0; color: var(--prp-muted); font-size: .78rem; line-height: 1.55; }
.prp-editor__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.prp-editor__fields, .prp-editor__preview { min-width: 0; }
.prp-editor__group { min-width: 0; margin: 0 0 20px; padding: 0 0 18px; border: 0; border-bottom: 1px solid #eee5da; }
.prp-editor__group:last-child { margin-bottom: 0; border-bottom: 0; }
.prp-editor__group legend { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0 0 15px; padding: 0; color: var(--prp-ink); font-size: .87rem; font-weight: 750; line-height: 1.5; }
.prp-editor__group legend > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #e7d8c4; border-radius: 6px; background: #fcf5eb; color: #9a6745; font-size: .62rem; font-weight: 750; }
.prp-company-editor p { margin: 0 0 14px; }
.prp-company-editor label { color: #424f5d; font-size: .8rem; }
.prp-company-editor small { color: var(--prp-muted); font-size: .72rem; line-height: 1.5; }
.prp-company-editor input:not([type="hidden"]), .prp-company-editor textarea { min-height: 44px; border-color: #d9cfc3; border-radius: 7px; font-size: .9rem; }
.prp-company-editor textarea { min-height: 130px; line-height: 1.55; }
.prp-editor__description-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 3px 10px; }
.prp-editor__description-meta [data-prp-description-count] { font-variant-numeric: tabular-nums; white-space: nowrap; }
.prp-company-editor .prp-form__grid { grid-template-columns: minmax(0, 1fr); gap: 0 14px; }
.prp-company-editor .prp-editor__coordinates { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.prp-company-editor .prp-editor__coordinates p { margin-bottom: 3px; }
.prp-company-editor input[type="file"] { padding: 8px; background: #fcfaf7; font-size: .77rem; }
.prp-company-editor input[type="file"]::file-selector-button { min-height: 30px; margin: 0 10px 0 0; padding: 4px 9px; border: 1px solid #ddcbb7; border-radius: 5px; background: #fff; color: #76513b; font: inherit; cursor: pointer; }
.prp-company-editor .prp-form__advanced { margin-bottom: 0; }
.prp-company-editor .prp-form__advanced summary { display: flex; align-items: center; min-height: 44px; margin: 0; color: #80543b; font-size: .75rem; }
.prp-company-editor .prp-form__advanced[open] summary { margin-bottom: 9px; }
.prp-account .prp-editor__geocode { gap: 6px; font-size: .76rem; }
.prp-editor__geocode svg { width: 17px; height: 17px; }
.prp-editor__geocode:disabled { opacity: .65; cursor: progress; }
.prp-company-editor .prp-editor__geocode-status, .prp-company-editor .prp-editor__photo-status { margin: 9px 0; padding: 9px 11px; border: 1px solid #e5d5bf; border-radius: 6px; background: #fff9ef; color: #71573f; font-size: .74rem; line-height: 1.5; }
.prp-editor-map { display: grid; place-items: center; min-width: 0; min-height: 160px; margin-top: 15px; overflow: hidden; border: 1px solid #e6ded2; border-radius: 9px; background: #f7f3ec; }
.prp-editor-map iframe { display: block; width: 100%; height: 175px; margin: 0; border: 0; }
.prp-editor-map__empty { max-width: 30ch; margin: 0 !important; padding: 18px; color: #7a7167; font-size: .78rem; line-height: 1.6; text-align: center; }
.prp-account a.prp-editor-map__link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 2px; font-size: .73rem; }
.prp-editor__preview-label { margin: 0 0 8px !important; color: #8b674b; font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.prp-editor-preview { overflow: hidden; border: 1px solid #dfc69a; border-radius: 11px; background: #fff; box-shadow: 0 4px 12px rgba(70, 48, 24, .045); }
.prp-editor-preview__photo { position: relative; display: grid; place-items: center; height: 125px; background: linear-gradient(120deg, #f5e8d0, #fff9eb); }
.prp-editor-preview__photo > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.prp-editor-preview__photo > span { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 15px; color: #a07d50; text-align: center; }
.prp-editor-preview__photo > span > svg { width: 29px; height: 29px; }
.prp-editor-preview__photo > span > span { font-size: .75rem; }
.prp-editor-preview__body { min-width: 0; padding: 15px; }
.prp-editor-preview__body h5 { margin: 9px 0 8px; color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: 1.25; overflow-wrap: anywhere; }
.prp-editor-preview__body p { color: #64717e; font-size: .78rem; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-line; }
.prp-editor-preview__body [data-prp-preview-description] { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; }
.prp-editor-preview__body p.prp-editor-preview__address { margin-bottom: 0; padding-top: 9px; border-top: 1px solid #eee5da; font-size: .71rem; }
.prp-company-editor .prp-editor__preview-note { margin: 8px 0 0; color: #7b7e81; font-size: .69rem; line-height: 1.5; }
.prp-editor__actions { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 20px; padding: 15px 0 9px; border-top: 1px solid #e8ddd0; background: #fff; }
.prp-editor__actions > small { flex: 1 1 100%; margin: 0; }
.prp-editor__actions > a { display: inline-flex; align-items: center; min-height: 44px; font-size: .77rem; }
.prp-account .prp-bookings { grid-template-columns: minmax(0, 1fr); gap: 13px; }
.prp-account .prp-booking { padding: 18px; }
.prp-booking__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 12px; }
.prp-booking__position { color: #90633e; font-size: .72rem; font-weight: 750; }
.prp-account .prp-booking h4 { margin-bottom: 5px; color: var(--prp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: 1.3; }
.prp-booking p.prp-booking__ranking { margin-bottom: 13px; color: #6f7580; font-size: .75rem; }
.prp-booking__dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 11px; padding: 10px 12px; border: 1px solid #eee4d7; border-radius: 7px; background: #fdf9f3; }
.prp-booking__dates dt { color: #857568; font-size: .64rem; line-height: 1.5; }
.prp-booking__dates dd { margin: 3px 0 0; color: #4d5967; font-size: .76rem; font-weight: 600; line-height: 1.4; }
.prp-booking p.prp-booking__deadline { display: flex; align-items: flex-start; gap: 7px; padding: 10px; border: 1px solid #e6d8bc; border-radius: 6px; background: #fdf6e8; color: #8a6926; font-size: .73rem; line-height: 1.5; }
.prp-booking__deadline svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; }
.prp-account a.prp-booking__edit { display: inline-flex; align-items: center; min-height: 44px; font-size: .76rem; }
.prp-booking__change { margin-top: 6px; padding-top: 7px; border-top: 1px solid #eee4d7; }
.prp-booking__change summary, .prp-booking__reference summary { display: flex; align-items: center; min-height: 44px; color: #78563e; font-size: .74rem; line-height: 1.4; list-style: none; cursor: pointer; }
.prp-booking__change summary::after, .prp-booking__reference summary::after { margin-left: auto; padding-left: 7px; font-size: .9rem; content: "+"; }
.prp-booking__change[open] summary::after, .prp-booking__reference[open] summary::after { content: "−"; }
.prp-booking__change summary::-webkit-details-marker, .prp-booking__reference summary::-webkit-details-marker { display: none; }
.prp-booking__change-form { padding: 9px 0 5px; }
.prp-booking__change-form small { margin-top: 8px; font-size: .7rem; }
.prp-booking__reference { padding-top: 2px; }
.prp-booking__reference summary { color: #89909a; font-size: .64rem; }
.prp-booking__reference > span { display: block; padding: 0 0 8px; }
.prp-empty-state { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px dashed #d6c4ac; border-radius: 11px; background: #fdf9f2; }
.prp-empty-state > svg { flex: 0 0 auto; width: 25px; height: 25px; color: #a07547; }
.prp-empty-state strong { display: block; margin-bottom: 6px; color: #795437; font-family: Georgia, "Times New Roman", serif; font-size: 1.04rem; line-height: 1.4; }
.prp-empty-state p { margin: 0 0 7px; color: var(--prp-muted); font-size: .79rem; line-height: 1.6; }
.prp-empty-state a { display: inline-flex; align-items: center; min-height: 44px; font-size: .76rem; }
.prp-account__invoices { scroll-margin-top: 20px; }
@container prp-account (min-width: 540px) {
 .prp-company-editor .prp-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .prp-editor-preview { display: grid; grid-template-columns: minmax(140px, 30%) minmax(0, 1fr); }
 .prp-editor-preview__photo { height: 100%; min-height: 150px; }
}
@container prp-account (max-width: 639px) {
 .prp-account__columns { grid-template-columns: minmax(0, 1fr); }
}
@container prp-account (min-width: 740px) {
 .prp-account .prp-bookings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .prp-company-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .prp-account .prp-company-cards li { grid-template-columns: 52px minmax(0, 1fr); }
 .prp-company-card__edit { grid-column: 2; justify-self: start; }
}
@container prp-account (min-width: 880px) {
 .prp-editor__layout { grid-template-columns: minmax(0, 1.8fr) minmax(240px, 1fr); gap: 26px; }
 .prp-editor__preview { position: sticky; top: 22px; }
 .prp-editor-preview { display: block; }
 .prp-editor-preview__photo { height: 160px; min-height: 0; }
}
@container prp-account (max-width: 440px) {
 .prp-dashboard { gap: 6px; }
 .prp-account a.prp-dashboard__stat { flex-direction: column; align-items: flex-start; gap: 8px; padding: 11px; }
 .prp-dashboard__stat strong { font-size: 1.45rem; }
 .prp-dashboard__stat span span { font-size: .64rem; }
 .prp-dashboard__stat > svg { width: 20px; height: 20px; }
 .prp-account__navigation { gap: 0 12px; }
 .prp-account__navigation a { font-size: .71rem; }
 .prp-section-header h3 { font-size: 1.22rem; }
 .prp-section-header .prp-button { padding: 8px 10px; font-size: .74rem; }
 .prp-account .prp-editor { padding: 16px; }
 .prp-account .prp-company-cards li { grid-template-columns: 42px minmax(0, 1fr); gap: 8px 10px; padding: 11px; }
 .prp-company-card__photo { width: 42px; height: 42px; border-radius: 8px; }
 .prp-company-card__edit { grid-column: 2; justify-self: start; }
 .prp-company-card strong { font-size: .82rem; }
 .prp-account .prp-company-editor input:not([type="hidden"]), .prp-account .prp-company-editor textarea { font-size: 16px; }
 .prp-editor__actions > .prp-button { flex: 1 1 auto; }
 .prp-account .prp-booking { padding: 15px; }
 .prp-editor__description-meta { gap: 2px; }
 .prp-editor-map iframe { height: 150px; }
}

/* The selector shows current availability without exposing private company data. */
.prp-catalog { container: prp-catalog / inline-size; margin: 28px 0 0; padding: 23px; border: 1px solid var(--prp-border); border-radius: 12px; background: var(--prp-paper); }
.prp-catalog h3 { margin: 0 0 9px; font-size: 1.3rem; }
.prp-catalog h4 { margin: 23px 0 14px; font-size: 1.05rem; }
.prp-catalog > p { margin: 0 0 17px; color: var(--prp-muted); line-height: 1.6; }
.prp-catalog__filter { display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; gap: 12px; margin: 22px 0; }
.prp-catalog__filter > div { min-width: 0; }
.prp-catalog__filter > .prp-button { width: 100%; min-height: 44px; }
.prp-catalog__filter-status, .prp-catalog__filter > noscript { grid-column: 1 / -1; margin: 0; color: var(--prp-muted); font-size: .8rem; line-height: 1.5; }
.prp-catalog__filter-status[hidden] { display: none; }
.prp-catalog__filter > noscript p { margin: 0 0 8px; }
.prp-catalog__filter label { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 650; }
.prp-catalog select { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #c8b9a8; border-radius: 6px; background: #fff; color: var(--prp-ink); font: inherit; }
.prp-catalog select:disabled { background: #f3f1ed; color: #746f68; }
.prp-catalog select:focus-visible, .prp-catalog button:focus-visible, .prp-catalog a:focus-visible { outline: 3px solid #9c4634; outline-offset: 3px; }
.prp-catalog__prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 9px !important; padding: 0 !important; list-style: none !important; }
.prp-catalog__prices li { min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--prp-border); border-radius: 7px; background: #fff; }
.prp-catalog__prices li span { display: block; margin-bottom: 3px; color: var(--prp-muted); font-size: .74rem; line-height: 1.4; }
.prp-catalog__prices li strong { display: block; color: var(--prp-ink); font-size: .91rem; line-height: 1.4; overflow-wrap: anywhere; }
.prp-catalog > .prp-catalog__price-note { margin-bottom: 15px; font-size: .75rem; }
.prp-catalog__notice { padding: 13px 15px; border: 1px solid var(--prp-border); border-radius: 8px; background: #f8f1e8; }
.prp-catalog__slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 15px !important; padding: 0 !important; list-style: none !important; }
.prp-catalog__slot { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; padding: 18px; border: 1px solid var(--prp-border); border-radius: 10px; background: #fff; }
.prp-catalog__position { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #b67d32; border-radius: 50%; background: #f9edcf; color: #7c511a; font-size: .95rem; font-weight: 800; }
.prp-catalog__slot:nth-child(2) .prp-catalog__position { border-color: #9ca3ad; background: #eef0f3; color: #4d5663; }
.prp-catalog__slot:nth-child(3) .prp-catalog__position { border-color: #bb7855; background: #f7e6dc; color: #925432; }
.prp-catalog__slot h5 { margin: 0; font-size: 1rem; }
.prp-catalog__slot p { margin: 0; line-height: 1.5; }
.prp-catalog__status { color: var(--prp-muted); font-size: .85rem; }
.prp-catalog__slot-price { color: var(--prp-ink); font-size: .96rem; }
.prp-catalog__slot-note { color: var(--prp-muted); font-size: .75rem; }
.prp-catalog__slot .prp-reference { color: var(--prp-muted); font-size: .68rem; overflow-wrap: anywhere; }
.prp-catalog__slot .prp-button { width: 100%; margin-top: auto; text-align: center; font-size: .82rem; }
.prp-catalog__slot--occupied, .prp-catalog__slot--held { background: #f7f4ef; }
.prp-catalog__note { font-size: .83rem; }
@media (max-width: 640px) {
 .prp-catalog { padding: 18px; }
}
@container prp-catalog (min-width: 620px) {
 .prp-catalog__filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
 .prp-catalog__filter > .prp-button { width: auto; }
}
@container prp-catalog (max-width: 619px) {
 .prp-catalog__slots { grid-template-columns: minmax(0, 1fr); }
}
@container prp-catalog (max-width: 360px) {
 .prp-catalog__prices { grid-template-columns: minmax(0, 1fr); gap: 5px; }
 .prp-catalog__prices li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; padding: 8px 10px; }
 .prp-catalog__prices li span { margin: 0; }
}
@media (prefers-reduced-motion: no-preference) {
 .prp-button { transition: background-color .15s ease; }
 .prp-selection .prp-ranking__cta { transition: filter .15s ease, box-shadow .15s ease; }
}
@media (max-width: 760px) {
 .prp-account__columns, .prp-form__grid, .prp-bookings { grid-template-columns: minmax(0, 1fr); }
 .prp-panel { padding: 19px; }
 .prp-companies li { align-items: flex-start; flex-direction: column; gap: 9px; }
}

/* One workspace at a time; the unenhanced page keeps all its anchor sections. */
.prp-account[data-prp-tabs-enhanced] .prp-account__header { margin-bottom: 14px; }
.prp-account[data-prp-tabs-enhanced] .prp-account__session { margin-bottom: 10px; }
.prp-account[data-prp-tabs-enhanced] .prp-dashboard { gap: 9px; margin-bottom: 15px; }
.prp-account[data-prp-tabs-enhanced] a.prp-dashboard__stat { gap: 10px; padding: 12px 14px; }
.prp-account[data-prp-tabs-enhanced] .prp-dashboard__stat strong { font-size: 1.4rem; }
.prp-account[data-prp-tabs-enhanced] .prp-dashboard__stat span span { margin-top: 3px; }
.prp-account[data-prp-tabs-enhanced] .prp-account__navigation {
 display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px;
 margin: 0 0 20px; padding: 5px; border: 1px solid #e4d7c8; border-radius: 10px; background: #f8f3ec;
}
.prp-account[data-prp-tabs-enhanced] .prp-account__navigation [role="tab"] {
 display: flex; justify-content: center; gap: 5px; min-width: 0; min-height: 48px;
 padding: 8px 12px; border: 1px solid transparent; border-radius: 6px;
 color: #715a49 !important; font-size: .8rem; font-weight: 650; line-height: 1.35; text-align: center; text-wrap: balance;
}
.prp-account[data-prp-tabs-enhanced] .prp-account__navigation [role="tab"]:hover { background: #f0e5d8; text-decoration: none !important; }
.prp-account[data-prp-tabs-enhanced] .prp-account__navigation [aria-selected="true"] { border-color: #95513a; background: #8b4735; color: #fff !important; box-shadow: 0 2px 5px rgb(91 48 29 / 10%); }
.prp-account[data-prp-tabs-enhanced] .prp-account__navigation [aria-selected="true"]:hover { background: #783c2c; }
.prp-account [role="tab"]:focus-visible, .prp-account [role="tabpanel"]:focus-visible,
.prp-editor-dialog__close:focus-visible, .prp-editor-draft button:focus-visible { outline: 3px solid #a15a3d; outline-offset: 3px; }
.prp-account[data-prp-tabs-enhanced] [role="tabpanel"] { margin-top: 0; scroll-margin-top: 18px; }
.prp-account[data-prp-tabs-enhanced] .prp-account__body > .prp-account-part + .prp-account-part { margin-top: 0; }
.prp-account[data-prp-tabs-enhanced] .prp-section-header { margin-bottom: 12px; }
.prp-account[data-prp-tabs-enhanced] .prp-company-card__edit { grid-column: auto; justify-self: end; }
.prp-account[data-prp-tabs-enhanced] .prp-company-cards li { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; padding: 11px 13px; }
.prp-account[data-prp-tabs-enhanced] .prp-company-card__photo { width: 46px; height: 46px; }
.prp-account[data-prp-tabs-enhanced] .prp-company-card strong { margin-bottom: 3px; }
.prp-account[data-prp-tabs-enhanced] .prp-bookings { align-items: start; gap: 11px; }
.prp-account[data-prp-tabs-enhanced] .prp-booking { padding: 15px; }
.prp-account[data-prp-tabs-enhanced] .prp-booking__top { margin-bottom: 7px; }
.prp-account[data-prp-tabs-enhanced] .prp-booking__ranking { margin-bottom: 9px; }
.prp-account[data-prp-tabs-enhanced] .prp-booking__dates { gap: 8px; margin-bottom: 6px; padding: 8px 10px; }
.prp-account__async-status { margin: -5px 0 14px; padding: 9px 12px; border: 1px solid #e3d7c6; border-radius: 7px; background: #fff9ee; color: #76563f; font-size: .8rem; line-height: 1.5; }
.prp-account__async-status a { display: inline-flex; align-items: center; min-height: 44px; }
.prp-account-part[aria-busy="true"] { cursor: progress; }
.prp-editor-draft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 11px 14px; border: 1px solid #dcc7a8; border-radius: 9px; background: #fff6e6; color: #795635; font-size: .82rem; }
.prp-editor-draft .prp-button { flex: 0 0 auto; }
.prp-company-empty { margin: 0; padding: 20px; border: 1px dashed #d9c7af; border-radius: 10px; background: #fdf9f2; color: var(--prp-muted); font-size: .88rem; }

/* The native dialog retains its form, photo and unsaved fields when closed. */
.prp-account .prp-editor-dialog {
 container: prp-account / inline-size;
 position: fixed; inset: 0; width: min(980px, calc(100vw - 32px)); max-width: none;
 max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); min-width: 0;
 margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; scroll-padding-top: 78px;
 border: 1px solid #d8c8b3; border-radius: 15px; background: #fff; color: var(--prp-ink);
 box-shadow: 0 25px 90px rgb(32 28 22 / 25%); font: inherit;
}
.prp-editor-dialog::backdrop { background: rgb(28 31 36 / 58%); }
.prp-editor-dialog__bar { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 20px; border-bottom: 1px solid #e8ddd0; background: #fbf6ef; }
.prp-editor-dialog__bar > strong { color: #77573f; font-size: .77rem; font-weight: 700; }
.prp-editor-dialog__close { flex: 0 0 auto; min-height: 44px; padding: 7px 12px; border: 1px solid #ddcbb9; border-radius: 7px; background: #fff; color: #754b34; font: inherit; font-size: .8rem; font-weight: 650; cursor: pointer; }
.prp-editor-dialog__close:hover { background: #f3e9dc; }
.prp-account .prp-editor-dialog .prp-editor { margin: 0; padding: 20px 24px; border: 0; border-radius: 0; box-shadow: none; }
.prp-editor-dialog .prp-editor__header { margin-bottom: 17px; padding-bottom: 15px; }
.prp-editor-dialog .prp-editor__group { margin-bottom: 16px; padding-bottom: 13px; }
.prp-editor-dialog .prp-editor__group legend { margin-bottom: 11px; }
.prp-editor-dialog .prp-editor__actions { position: static; margin-top: 14px; }
.prp-editor-dialog .prp-editor-dialog__notice { margin: 14px 24px 0; }

/* Catalog cards and invoices remain short while exposing their real state. */
.prp-account[data-prp-panel-enhanced] .prp-catalog { margin-top: 0; padding: 18px; }
.prp-account[data-prp-panel-enhanced] .prp-catalog > p { margin-bottom: 12px; font-size: .84rem; }
.prp-account[data-prp-panel-enhanced] .prp-catalog__filter { gap: 10px; margin-block: 16px; }
.prp-account[data-prp-panel-enhanced] .prp-catalog__slot { gap: 7px; padding: 14px; }
.prp-account[data-prp-panel-enhanced] .prp-reservation { margin-bottom: 16px; padding: 18px; }
.prp-account[data-prp-panel-enhanced] .prp-reservation > p { font-size: .84rem; }
.prp-account .prp-invoices-customer { display: block; }
.prp-account .prp-invoices-customer > h3 { margin-bottom: 15px; }
.prp-account .prp-invoice-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.prp-account .prp-invoice-row {
 display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 15px;
 min-width: 0; padding: 13px 15px; border: 1px solid var(--prp-border); border-radius: 10px; background: #fff;
}
.prp-invoice-row__main { min-width: 0; }
.prp-account .prp-invoice-row__main h4 { margin: 0 0 4px; color: var(--prp-ink); font-size: .93rem; line-height: 1.4; }
.prp-invoice-row__main p, .prp-invoice-row__main small { margin: 0; color: var(--prp-muted); font-size: .76rem; line-height: 1.5; }
.prp-invoice-row__amount { color: var(--prp-ink); font-size: .92rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.prp-invoice-row__status { color: #6b715d; font-size: .73rem; line-height: 1.4; }
.prp-invoice-row[data-invoice-state="blocked"] .prp-invoice-row__status { color: #886230; }
.prp-invoice-row__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.prp-invoice-row__actions form { margin: 0; }
.prp-account .prp-invoice-row__actions .prp-button { min-height: 44px; padding: 8px 12px; font-size: .76rem; white-space: normal; text-align: center; }
.prp-invoice-row__diagnostic { grid-column: 1 / -1; margin: 3px 0 0; color: #886230; font-size: .75rem; }
.prp-account .prp-invoices__pagination { gap: 8px; margin-top: 15px; }
.prp-account .prp-invoices__pagination a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 9px; font-size: .8rem; }

@container prp-account (min-width: 740px) {
 .prp-account .prp-invoice-row { grid-template-columns: minmax(0, 1fr) minmax(75px, auto) 135px 160px; }
}
@container prp-account (max-width: 619px) {
 .prp-account[data-prp-tabs-enhanced] .prp-account__navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 4px; margin-bottom: 16px; }
 .prp-account[data-prp-tabs-enhanced] .prp-account__navigation [role="tab"] { min-height: 48px; padding: 8px; font-size: .78rem; }
 .prp-account[data-prp-tabs-enhanced] .prp-company-cards li { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 8px; padding: 10px; }
 .prp-account[data-prp-tabs-enhanced] .prp-company-card__photo { width: 42px; height: 42px; }
 .prp-account[data-prp-tabs-enhanced] .prp-company-card__edit { padding-inline: 4px; font-size: .75rem; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__slot { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 5px 9px; padding: 12px; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__position { grid-row: 1 / 3; width: 29px; height: 29px; font-size: .85rem; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__slot h5 { font-size: .88rem; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__status { grid-column: 2; font-size: .75rem; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__slot-price { grid-column: 3; grid-row: 1 / 3; font-size: .8rem; text-align: right; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__slot .prp-reference { grid-column: 1 / -1; font-size: .65rem; }
 .prp-account[data-prp-panel-enhanced] .prp-catalog__slot .prp-button, .prp-account[data-prp-panel-enhanced] .prp-catalog__slot-note { grid-column: 1 / -1; }
 .prp-account .prp-editor-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); border-radius: 11px; }
 .prp-account .prp-editor-dialog .prp-editor { padding: 16px; }
 .prp-editor-dialog__bar { padding: 7px 12px; }
 .prp-editor-dialog .prp-editor-dialog__notice { margin-inline: 16px; }
 .prp-editor-draft { align-items: stretch; }
 .prp-editor-draft .prp-button { width: 100%; }
}
@container prp-account (max-width: 360px) {
 .prp-account[data-prp-tabs-enhanced] .prp-company-cards li { grid-template-columns: 38px minmax(0, 1fr); }
 .prp-account[data-prp-tabs-enhanced] .prp-company-card__photo { width: 38px; height: 38px; }
 .prp-account[data-prp-tabs-enhanced] .prp-company-card__edit { grid-column: 2; justify-self: start; padding: 0; }
 .prp-account[data-prp-tabs-enhanced] a.prp-dashboard__stat { gap: 5px; padding: 9px 7px; }
 .prp-account[data-prp-tabs-enhanced] .prp-dashboard__stat span span { font-size: .66rem; }
 .prp-account .prp-invoice-row { gap: 6px 9px; padding: 12px; }
 .prp-invoice-row__actions { grid-column: 1 / -1; justify-content: stretch; }
 .prp-invoice-row__actions > *, .prp-invoice-row__actions .prp-button { width: 100%; }
}
