/* PF Hotel Builder P1.0.0 — shared frontend + Builder preview presentation layer. */
.pf-hotel-ui,
.pf-hotel-ui *{box-sizing:border-box}
.pf-hotel-ui{overflow-wrap:anywhere;width:100%;max-width:var(--pf-hotel-max,1180px);margin:var(--pf-hotel-margin,0 auto);padding:var(--pf-hotel-pad,28px 18px);background:var(--pf-hotel-bg,transparent);color:var(--pf-hotel-text,#211d19);font-family:inherit}
.pf-hotel-ui__inner{width:100%}
.pf-hotel-ui__head{display:grid;gap:8px;margin-bottom:20px}
.pf-hotel-ui__heading{margin:0;color:var(--pf-hotel-heading-c,var(--pf-hotel-text));font-family:var(--pf-hotel-heading-ff,inherit);font-size:var(--pf-hotel-heading-fs,34px);font-weight:var(--pf-hotel-heading-fw,700);line-height:var(--pf-hotel-heading-lh,1.16);letter-spacing:var(--pf-hotel-heading-ls,0);text-transform:var(--pf-hotel-heading-transform,none);text-align:var(--pf-hotel-heading-align,left);font-style:var(--pf-hotel-heading-style,normal)}
.pf-hotel-ui__lead,.pf-hotel-ui p{color:var(--pf-hotel-body-c,var(--pf-hotel-muted));font-family:var(--pf-hotel-body-ff,inherit);font-size:var(--pf-hotel-body-fs,15px);font-weight:var(--pf-hotel-body-fw,400);line-height:var(--pf-hotel-body-lh,1.55);letter-spacing:var(--pf-hotel-body-ls,0);text-transform:var(--pf-hotel-body-transform,none);text-align:var(--pf-hotel-body-align,left);font-style:var(--pf-hotel-body-style,normal)}
.pf-hotel-ui__lead{margin:0}
.pf-hotel-ui__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pf-hotel-ui__field>span,.pf-hotel-ui__field>label,.pf-hotel-ui__field label{display:block;color:var(--pf-hotel-label-c,#5e554d);font-family:var(--pf-hotel-label-ff,inherit);font-size:var(--pf-hotel-label-fs,12px);font-weight:var(--pf-hotel-label-fw,700);line-height:var(--pf-hotel-label-lh,1.35);letter-spacing:var(--pf-hotel-label-ls,0);text-transform:var(--pf-hotel-label-transform,none);text-align:var(--pf-hotel-label-align,left);font-style:var(--pf-hotel-label-style,normal)}
.pf-hotel-ui input,.pf-hotel-ui select,.pf-hotel-ui textarea{width:100%;min-height:44px;border:1px solid var(--pf-hotel-input-border,#d9d2ca);border-radius:9px;background:var(--pf-hotel-input-bg,#fff);color:var(--pf-hotel-text,#211d19);font:inherit;padding:9px 11px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.pf-hotel-ui textarea{min-height:110px;resize:vertical}
.pf-hotel-ui input:focus,.pf-hotel-ui select:focus,.pf-hotel-ui textarea:focus{border-color:var(--pf-hotel-accent,#8a633f);box-shadow:0 0 0 3px color-mix(in srgb,var(--pf-hotel-accent,#8a633f) 14%,transparent)}
.pf-hotel-ui__button,.pf-hotel-ui__outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;padding:0 16px;text-decoration:none;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;font-family:var(--pf-hotel-button-ff,inherit);font-size:var(--pf-hotel-button-fs,14px);font-weight:var(--pf-hotel-button-fw,700);line-height:var(--pf-hotel-button-lh,1.2);letter-spacing:var(--pf-hotel-button-ls,0);text-transform:var(--pf-hotel-button-transform,none);text-align:var(--pf-hotel-button-align,center);font-style:var(--pf-hotel-button-style,normal)}
.pf-hotel-ui__button{border:1px solid var(--pf-hotel-btn-bg,#211d19);background:var(--pf-hotel-btn-bg,#211d19);color:var(--pf-hotel-btn-color,#fff)}
.pf-hotel-ui__button:hover{background:var(--pf-hotel-btn-hover-bg,#3a3028);border-color:var(--pf-hotel-btn-hover-bg,#3a3028);color:var(--pf-hotel-btn-hover-color,#fff)}
.pf-hotel-ui__outline-button{border:1px solid var(--pf-hotel-text,#211d19);background:transparent;color:var(--pf-hotel-text,#211d19)}
.pf-hotel-ui__outline-button:hover{background:var(--pf-hotel-text,#211d19);color:var(--pf-hotel-surface,#fff)}
.pf-hotel-ui__summary,.pf-hotel-ui__state,.pf-hotel-ui__alert{padding:14px 16px;border-radius:10px;line-height:1.55}
.pf-hotel-ui__summary{background:var(--pf-hotel-soft,#f8f4ee);color:var(--pf-hotel-muted,#6d655d);margin-bottom:14px}
.pf-hotel-ui__summary strong{color:var(--pf-hotel-text,#211d19)}
.pf-hotel-ui__state{border:1px dashed var(--pf-hotel-border,#e7e2da);color:var(--pf-hotel-muted,#6d655d);background:color-mix(in srgb,var(--pf-hotel-soft,#f8f4ee) 45%,transparent)}
.pf-hotel-ui__alert{border:1px solid #ead7ad;background:#fff8e8;color:var(--pf-hotel-warning,#73561e)}
.pf-hotel-ui__field-error{display:block;color:#b42318;font-size:12px;line-height:1.35}

/* Search Form */
.pf-hotel-ui__search-form{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr)) repeat(3,minmax(0,.7fr)) minmax(0,auto);gap:var(--pf-hotel-gap,16px);align-items:end;padding:var(--pf-hotel-form-pad,18px);border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border,#e7e2da);border-radius:var(--pf-hotel-form-radius,14px);background:var(--pf-hotel-surface,#fff);box-shadow:var(--pf-hotel-shadow,0 8px 28px rgba(38,30,23,.06))}
.pf-hotel-ui__search-form--no-hotel{grid-template-columns:repeat(2,minmax(0,1fr)) repeat(3,minmax(0,.7fr)) minmax(0,auto)}
.pf-hotel-ui__search-form input,.pf-hotel-ui__search-form select{border-radius:var(--pf-hotel-field-radius,9px)}
.pf-hotel-ui__search-submit{min-width:0;white-space:nowrap}
.pf-hotel-ui__date{position:relative}
.pf-hotel-ui__date-text{padding-right:42px!important}
.pf-hotel-ui__date-button{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;border-radius:7px;background:transparent;color:var(--pf-hotel-muted,#6d655d);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.pf-hotel-ui__date-button:hover{background:var(--pf-hotel-soft,#f8f4ee)}
.pf-hotel-ui__date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;right:4px!important;bottom:0!important;min-height:0!important;padding:0!important;border:0!important}

/* Result cards */
.pf-hotel-results{display:grid;gap:var(--pf-hotel-gap,16px)}
.pf-hotel-card{display:grid;grid-template-columns:minmax(0,var(--pf-hotel-card-image,260px)) minmax(0,1fr) minmax(0,280px);border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border,#e7e2da);border-radius:var(--pf-hotel-card-radius,var(--pf-hotel-radius,14px));overflow:hidden;background:var(--pf-hotel-surface,#fff);box-shadow:var(--pf-hotel-shadow,0 6px 20px rgba(38,30,23,.05))}
.pf-hotel-card__media{min-width:0;min-height:210px;background:var(--pf-hotel-soft,#f8f4ee);overflow:hidden}
.pf-hotel-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.pf-hotel-card__placeholder{height:100%;min-height:210px;display:flex;align-items:center;justify-content:center;color:var(--pf-hotel-muted,#6d655d);font-size:44px}
.pf-hotel-card__body{padding:20px;min-width:0}
.pf-hotel-card__hotel{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--pf-hotel-accent,#8a633f);font-weight:800}
.pf-hotel-card__title{margin:5px 0 7px;color:var(--pf-hotel-heading-c,var(--pf-hotel-text));font-family:var(--pf-hotel-heading-ff,inherit);font-size:calc(var(--pf-hotel-heading-fs,34px)*.68);font-weight:var(--pf-hotel-heading-fw,700);line-height:1.2}
.pf-hotel-card__meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin:10px 0;color:var(--pf-hotel-muted,#6d655d);font-size:14px}
.pf-hotel-card__excerpt{margin:12px 0;color:var(--pf-hotel-muted,#6d655d);line-height:1.55}
.pf-hotel-card__amenities{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.pf-hotel-pill{font-size:12px;background:var(--pf-hotel-soft,#f8f4ee);border-radius:999px;padding:5px 9px;color:var(--pf-hotel-muted,#6d655d)}
.pf-hotel-card__price{min-width:0;padding:20px;border-left:1px solid var(--pf-hotel-border,#e7e2da);display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right}
.pf-hotel-card__available{font-size:13px;color:var(--pf-hotel-success,#147a43);font-weight:700}
.pf-hotel-card__confirm{font-size:12px;color:var(--pf-hotel-muted,#6d655d);margin-top:4px;max-width:230px}
.pf-hotel-card__from{font-size:12px;color:var(--pf-hotel-muted,#6d655d);margin-top:12px}
.pf-hotel-card__amount{overflow-wrap:anywhere;font-size:28px;font-weight:800;line-height:1.15;color:var(--pf-hotel-text,#211d19)}
.pf-hotel-card__contact-price{font-size:20px;font-weight:800;line-height:1.25;margin-top:8px;color:var(--pf-hotel-text,#211d19)}
.pf-hotel-card__stay{font-size:12px;color:var(--pf-hotel-muted,#6d655d);margin-top:5px}
.pf-hotel-card__rate{margin-top:12px;font-size:13px;color:var(--pf-hotel-muted,#6d655d)}
.pf-hotel-card__book-form{width:100%;margin:14px 0 0}.pf-hotel-card__book{width:100%}
.pf-hotel-card__price .pf-hotel-ui__outline-button{margin-top:14px}

/* Branch */
.pf-hotel-branch{display:grid;grid-template-columns:var(--pf-hotel-branch-image,42%) minmax(0,1fr);gap:var(--pf-hotel-gap,16px);align-items:stretch;border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border);border-radius:var(--pf-hotel-radius);background:var(--pf-hotel-surface);box-shadow:var(--pf-hotel-shadow);overflow:hidden}
.pf-hotel-branch[data-image-position="right"]{grid-template-columns:minmax(0,1fr) var(--pf-hotel-branch-image,42%)}
.pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__media{order:2}.pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__body{order:1}
.pf-hotel-branch__media{min-height:300px;background:var(--pf-hotel-soft)}.pf-hotel-branch__media img{width:100%;height:100%;object-fit:cover;display:block}
.pf-hotel-branch__body{min-width:0;padding:30px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.pf-hotel-branch__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:4px}
.pf-hotel-branch__facts>div{padding:10px 0;border-bottom:1px solid var(--pf-hotel-border)}
.pf-hotel-branch__facts span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--pf-hotel-muted);margin-bottom:3px}
.pf-hotel-branch__facts strong,.pf-hotel-branch__facts a{color:var(--pf-hotel-text);text-decoration:none;font-weight:650}
.pf-hotel-branch__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}

/* Booking summary */
.pf-hotel-summary{border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border);border-radius:var(--pf-hotel-radius);background:var(--pf-hotel-surface);box-shadow:var(--pf-hotel-shadow);padding:24px}
.pf-hotel-summary.is-compact{padding:18px}
.pf-hotel-summary>.pf-hotel-ui__heading{margin-bottom:16px}
.pf-hotel-summary__rows{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.pf-hotel-summary__rows>div{padding:11px 0;border-bottom:1px solid var(--pf-hotel-border)}
.pf-hotel-summary__rows span{display:block;font-size:12px;color:var(--pf-hotel-muted);margin-bottom:3px}
.pf-hotel-summary__rows strong{color:var(--pf-hotel-text)}
.pf-hotel-summary__amount{font-size:22px}.pf-hotel-summary__note{margin:14px 0 0!important;padding:12px 14px;border-radius:9px;background:var(--pf-hotel-soft)}

/* Checkout form */
.pf-hotel-checkout-form{border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border);border-radius:var(--pf-hotel-radius);background:var(--pf-hotel-surface);box-shadow:var(--pf-hotel-shadow);padding:24px}
.pf-hotel-checkout-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf-hotel-checkout-form__grid .pf-hotel-ui__field:last-child:nth-child(odd){grid-column:1/-1}
.pf-hotel-checkout-form__submit{width:100%;margin-top:18px}
.pf-hotel-checkout-form__safe{margin:11px 0 0!important;font-size:12px!important;color:var(--pf-hotel-muted)!important;text-align:center!important}
.pf-hotel-ui__time-trigger{width:100%;min-height:44px;border:1px solid var(--pf-hotel-input-border);border-radius:9px;background:var(--pf-hotel-input-bg);color:var(--pf-hotel-text);padding:9px 11px;text-align:left;cursor:pointer}
[data-pf-hotel-time-picker]{position:relative}.pf-hotel-ui__time-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:50;width:min(320px,100%);padding:12px;border:1px solid var(--pf-hotel-border);border-radius:10px;background:var(--pf-hotel-surface);box-shadow:0 16px 40px rgba(0,0,0,.15);display:grid;grid-template-columns:1fr 1fr;gap:10px}.pf-hotel-ui__time-panel[hidden]{display:none}
.pf-hotel-ui__time-panel label{display:grid;gap:5px;font-size:12px;color:var(--pf-hotel-muted)}.pf-hotel-ui__time-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.pf-hotel-ui__time-actions button{min-height:34px;padding:0 12px;border:1px solid var(--pf-hotel-border);border-radius:7px;background:var(--pf-hotel-surface);color:var(--pf-hotel-text);cursor:pointer}.pf-hotel-ui__time-actions button:last-child{background:var(--pf-hotel-btn-bg);color:var(--pf-hotel-btn-color);border-color:var(--pf-hotel-btn-bg)}

/* Thank you */
.pf-hotel-thanks__box{border:var(--pf-hotel-bw,1px) var(--pf-hotel-bs,solid) var(--pf-hotel-border);border-radius:var(--pf-hotel-radius);padding:28px;background:var(--pf-hotel-surface);box-shadow:var(--pf-hotel-shadow)}
.pf-hotel-thanks__ok{width:54px;height:54px;border-radius:50%;background:#e8f7ee;color:var(--pf-hotel-success);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;margin-bottom:18px}
.pf-hotel-thanks__code{margin:22px 0;padding:16px;border-radius:10px;background:var(--pf-hotel-soft)}.pf-hotel-thanks__code span{display:block;font-size:12px;color:var(--pf-hotel-muted)}.pf-hotel-thanks__code strong{font-size:25px;letter-spacing:.03em;color:var(--pf-hotel-text)}
.pf-hotel-thanks__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.pf-hotel-thanks__row{padding:11px 0;border-bottom:1px solid var(--pf-hotel-border)}.pf-hotel-thanks__row span{display:block;font-size:12px;color:var(--pf-hotel-muted);margin-bottom:3px}.pf-hotel-thanks__row strong{color:var(--pf-hotel-text)}
.pf-hotel-thanks__note{margin-top:22px;padding:15px 17px;background:#fff8e8;border:1px solid #ead7ad;border-radius:10px;color:var(--pf-hotel-warning);line-height:1.55}.pf-hotel-thanks__box>.pf-hotel-ui__outline-button{margin-top:20px}

/* Builder preview containment */
.b-block-preview{min-width:0}.b-block-preview .pf-hotel-ui{min-width:0}.b-block-preview .pf-hotel-ui form{pointer-events:none}.b-block-preview .pf-hotel-ui a{pointer-events:none}

@media (max-width:1024px){.pf-hotel-ui:not([data-pf-hotel-preview]){max-width:var(--pf-hotel-max-t,100%);margin:var(--pf-hotel-margin-t,0 auto);padding:var(--pf-hotel-pad-t,24px 16px)}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__heading{font-size:var(--pf-hotel-heading-fs-t,var(--pf-hotel-heading-fs))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__lead,.pf-hotel-ui:not([data-pf-hotel-preview]) p{font-size:var(--pf-hotel-body-fs-t,var(--pf-hotel-body-fs))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__field>span{font-size:var(--pf-hotel-label-fs-t,var(--pf-hotel-label-fs))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__button,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__outline-button{font-size:var(--pf-hotel-button-fs-t,var(--pf-hotel-button-fs))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pf-hotel-gap-t,14px)}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__field--hotel{grid-column:span 2}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-submit{width:100%}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card{grid-template-columns:minmax(190px,var(--pf-hotel-card-image,230px)) minmax(0,1fr)}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__price{grid-column:1/-1;border-left:0;border-top:1px solid var(--pf-hotel-border);align-items:flex-start;text-align:left}
}
@media (max-width:767px){.pf-hotel-ui:not([data-pf-hotel-preview]){max-width:var(--pf-hotel-max-m,100%);margin:var(--pf-hotel-margin-m,0 auto);padding:var(--pf-hotel-pad-m,20px 12px)}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__heading{font-size:var(--pf-hotel-heading-fs-m,var(--pf-hotel-heading-fs-t))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__lead,.pf-hotel-ui:not([data-pf-hotel-preview]) p{font-size:var(--pf-hotel-body-fs-m,var(--pf-hotel-body-fs-t))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__field>span{font-size:var(--pf-hotel-label-fs-m,var(--pf-hotel-label-fs-t))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__button,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__outline-button{font-size:var(--pf-hotel-button-fs-m,var(--pf-hotel-button-fs-t))}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-form{grid-template-columns:1fr 1fr;gap:var(--pf-hotel-gap-m,12px)}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__field--hotel{grid-column:1/-1}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-submit{grid-column:1/-1}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card{grid-template-columns:1fr}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__media{min-width:0;min-height:220px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__price{grid-column:auto}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch[data-image-position="right"]{grid-template-columns:1fr}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__media,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__body{order:initial}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch__media{min-height:240px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch__body{min-width:0;padding:22px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-branch__facts{grid-template-columns:1fr}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-summary__rows,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-checkout-form__grid,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-thanks__grid{grid-template-columns:1fr}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-checkout-form__grid .pf-hotel-ui__field{grid-column:1/-1}
}

/* PF Hotel Builder P3 — route-template UX parity */
.pf-hotel-ui button[aria-busy="true"],.pf-hotel-ui button:disabled{opacity:.68;cursor:wait;pointer-events:none}
.pf-hotel-ui__search-error{grid-column:1/-1;margin-top:-2px}
.pf-hotel-thanks__copy{margin-left:12px;min-height:34px;padding:0 11px;border:1px solid var(--pf-hotel-border);border-radius:8px;background:var(--pf-hotel-surface);color:var(--pf-hotel-text);cursor:pointer;font:inherit;font-weight:700}
.pf-hotel-thanks__copy:hover{background:var(--pf-hotel-soft)}
.pf-hotel-thanks__next{margin-top:20px;padding:15px 17px;border-radius:10px;background:var(--pf-hotel-soft);color:var(--pf-hotel-text)}
.pf-hotel-thanks__next>strong{display:block;margin-bottom:7px}.pf-hotel-thanks__next ol{margin:0;padding-left:20px;color:var(--pf-hotel-muted);line-height:1.65}
@media (max-width:767px){:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-thanks__copy{display:block;margin:10px 0 0}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-error{grid-column:1/-1}}
.pf-hotel-ui :focus-visible{outline:3px solid color-mix(in srgb,var(--pf-hotel-accent,#8a633f) 38%,transparent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.pf-hotel-ui *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media (max-width:480px){.pf-hotel-ui:not([data-pf-hotel-preview]){padding-left:10px;padding-right:10px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-summary,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-checkout-form,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-thanks__box{padding:18px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__body,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__price{min-width:0;padding:17px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card__amount{overflow-wrap:anywhere;font-size:24px}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-form{grid-template-columns:1fr}:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-form>.pf-hotel-ui__field,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__field--hotel,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-submit,:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-ui__search-error{grid-column:1/-1}
}

/* P4: Builder device selection, independent of the physical browser width. */
.main.viewport-tablet .b-block-preview .pf-hotel-ui{max-width:var(--pf-hotel-max-t,100%);margin:var(--pf-hotel-margin-t,0 auto);padding:var(--pf-hotel-pad-t,24px 16px)}.main.viewport-tablet .b-block-preview .pf-hotel-ui__heading{font-size:var(--pf-hotel-heading-fs-t,var(--pf-hotel-heading-fs))}.main.viewport-tablet .b-block-preview .pf-hotel-ui__lead,.main.viewport-tablet .b-block-preview .pf-hotel-ui p{font-size:var(--pf-hotel-body-fs-t,var(--pf-hotel-body-fs))}.main.viewport-tablet .b-block-preview .pf-hotel-ui__field>span{font-size:var(--pf-hotel-label-fs-t,var(--pf-hotel-label-fs))}.main.viewport-tablet .b-block-preview .pf-hotel-ui__button,.main.viewport-tablet .b-block-preview .pf-hotel-ui__outline-button{font-size:var(--pf-hotel-button-fs-t,var(--pf-hotel-button-fs))}.main.viewport-tablet .b-block-preview .pf-hotel-ui__search-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pf-hotel-gap-t,14px)}.main.viewport-tablet .b-block-preview .pf-hotel-ui__field--hotel{grid-column:span 2}.main.viewport-tablet .b-block-preview .pf-hotel-ui__search-submit{width:100%}.main.viewport-tablet .b-block-preview .pf-hotel-card{grid-template-columns:minmax(190px,var(--pf-hotel-card-image,230px)) minmax(0,1fr)}.main.viewport-tablet .b-block-preview .pf-hotel-card__price{grid-column:1/-1;border-left:0;border-top:1px solid var(--pf-hotel-border);align-items:flex-start;text-align:left}

.main.viewport-mobile .b-block-preview .pf-hotel-ui{max-width:var(--pf-hotel-max-t,100%);margin:var(--pf-hotel-margin-t,0 auto);padding:var(--pf-hotel-pad-t,24px 16px)}.main.viewport-mobile .b-block-preview .pf-hotel-ui__heading{font-size:var(--pf-hotel-heading-fs-t,var(--pf-hotel-heading-fs))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__lead,.main.viewport-mobile .b-block-preview .pf-hotel-ui p{font-size:var(--pf-hotel-body-fs-t,var(--pf-hotel-body-fs))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__field>span{font-size:var(--pf-hotel-label-fs-t,var(--pf-hotel-label-fs))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__button,.main.viewport-mobile .b-block-preview .pf-hotel-ui__outline-button{font-size:var(--pf-hotel-button-fs-t,var(--pf-hotel-button-fs))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pf-hotel-gap-t,14px)}.main.viewport-mobile .b-block-preview .pf-hotel-ui__field--hotel{grid-column:span 2}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-submit{width:100%}.main.viewport-mobile .b-block-preview .pf-hotel-card{grid-template-columns:minmax(190px,var(--pf-hotel-card-image,230px)) minmax(0,1fr)}.main.viewport-mobile .b-block-preview .pf-hotel-card__price{grid-column:1/-1;border-left:0;border-top:1px solid var(--pf-hotel-border);align-items:flex-start;text-align:left}

.main.viewport-mobile .b-block-preview .pf-hotel-ui{max-width:var(--pf-hotel-max-m,100%);margin:var(--pf-hotel-margin-m,0 auto);padding:var(--pf-hotel-pad-m,20px 12px)}.main.viewport-mobile .b-block-preview .pf-hotel-ui__heading{font-size:var(--pf-hotel-heading-fs-m,var(--pf-hotel-heading-fs-t))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__lead,.main.viewport-mobile .b-block-preview .pf-hotel-ui p{font-size:var(--pf-hotel-body-fs-m,var(--pf-hotel-body-fs-t))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__field>span{font-size:var(--pf-hotel-label-fs-m,var(--pf-hotel-label-fs-t))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__button,.main.viewport-mobile .b-block-preview .pf-hotel-ui__outline-button{font-size:var(--pf-hotel-button-fs-m,var(--pf-hotel-button-fs-t))}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-form{grid-template-columns:1fr 1fr;gap:var(--pf-hotel-gap-m,12px)}.main.viewport-mobile .b-block-preview .pf-hotel-ui__field--hotel{grid-column:1/-1}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-submit{grid-column:1/-1}.main.viewport-mobile .b-block-preview .pf-hotel-card{grid-template-columns:1fr}.main.viewport-mobile .b-block-preview .pf-hotel-card__media{min-width:0;min-height:220px}.main.viewport-mobile .b-block-preview .pf-hotel-card__price{grid-column:auto}.main.viewport-mobile .b-block-preview .pf-hotel-branch,.main.viewport-mobile .b-block-preview .pf-hotel-branch[data-image-position="right"]{grid-template-columns:1fr}.main.viewport-mobile .b-block-preview .pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__media,.main.viewport-mobile .b-block-preview .pf-hotel-branch[data-image-position="right"] .pf-hotel-branch__body{order:initial}.main.viewport-mobile .b-block-preview .pf-hotel-branch__media{min-height:240px}.main.viewport-mobile .b-block-preview .pf-hotel-branch__body{min-width:0;padding:22px}.main.viewport-mobile .b-block-preview .pf-hotel-branch__facts{grid-template-columns:1fr}.main.viewport-mobile .b-block-preview .pf-hotel-summary__rows,.main.viewport-mobile .b-block-preview .pf-hotel-checkout-form__grid,.main.viewport-mobile .b-block-preview .pf-hotel-thanks__grid{grid-template-columns:1fr}.main.viewport-mobile .b-block-preview .pf-hotel-checkout-form__grid .pf-hotel-ui__field{grid-column:1/-1}

.main.viewport-mobile .b-block-preview .pf-hotel-thanks__copy{display:block;margin:10px 0 0}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-error{grid-column:1/-1}
.main.viewport-mobile .b-block-preview .pf-hotel-ui{padding-left:10px;padding-right:10px}.main.viewport-mobile .b-block-preview .pf-hotel-summary,.main.viewport-mobile .b-block-preview .pf-hotel-checkout-form,.main.viewport-mobile .b-block-preview .pf-hotel-thanks__box{padding:18px}.main.viewport-mobile .b-block-preview .pf-hotel-card__body,.main.viewport-mobile .b-block-preview .pf-hotel-card__price{min-width:0;padding:17px}.main.viewport-mobile .b-block-preview .pf-hotel-card__amount{overflow-wrap:anywhere;font-size:24px}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-form{grid-template-columns:1fr}.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-form>.pf-hotel-ui__field,.main.viewport-mobile .b-block-preview .pf-hotel-ui__field--hotel,.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-submit,.main.viewport-mobile .b-block-preview .pf-hotel-ui__search-error{grid-column:1/-1}

/* P4: hiding the image removes its grid track. */
.pf-hotel-card.pf-hotel-card--no-image{grid-template-columns:minmax(0,1fr) minmax(0,280px)}
.pf-hotel-branch.pf-hotel-branch--no-image{grid-template-columns:minmax(0,1fr)}
@media(max-width:1024px){:where(.pf-hotel-ui:not([data-pf-hotel-preview])) .pf-hotel-card.pf-hotel-card--no-image{grid-template-columns:minmax(0,1fr)}}
.main.viewport-tablet .b-block-preview .pf-hotel-card.pf-hotel-card--no-image,.main.viewport-mobile .b-block-preview .pf-hotel-card.pf-hotel-card--no-image{grid-template-columns:minmax(0,1fr)}

